今晚终于把
GacUI所有该加上的XML注释都加上了,开始做起了Demo。需要做的Demo大概有几十个,除了每个控件要那么几个以外,还有一些其他功能,譬如换皮肤换风格啊,使用不同的渲染器啊,移植到Direct3D上什么的,好多啊,即将写到手软。今天写了第一个Demo,是一个helloworld程序。创建一个GacUI程序是一件很容易的事情,首先下载
GacUI的最新代码(在有了Release之后会有更好的文件组织和html文档),然后将“Libraries\GacUI\Public\Source”下面的5个文件添加进建好的Visual C++的Windows工程里面,然后开始写main函数:
#include "..\..\Public\Source\GacUIIncludes.h"
#include <Windows.h>
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int CmdShow)
{
return SetupWindowsDirect2DRenderer();
}
void GuiMain()
{
GuiWindow* window=g::NewWindow();
window->SetText(L"Hello, world!");
window->SetClientSize(Size(640, 480));
window->MoveToScreenCenter();
GuiControl* label=g::NewLabel();
label->SetText(L"Welcome to GacUI Library!");
{
FontProperties font;
font.fontFamily=L"Segoe UI";
font.size=40;
font.antialias=true;
label->SetFont(font);
}
window->AddChild(label);
GetApplication()->Run(window);
delete window;
}
Main函数里面需要选择渲染器,这里选的是Direct2D。如果要选择GDI,则调用SetupWindowsGDIRenderer。至于void GuiMain(void)函数则是类库自己的要求,一定要有那么一个,因为SetupWindowsDirect2DRenderer(或GDI)最终会进行一大段初始化工作之后调用一个声明了却没有实现的void GuiMain(void)函数,所以一个合法的GacUI工程需要包含void GuiMain(void)的实现,也就是上面这样。
然后接下来的就是普通的工作了,创建一个GuiWindow,加点东西,Run一下当主窗口。当主窗口被关掉的时候Run函数就会结束,这个时候进行一下必要的清理,程序就可以结束了。运行之后就是下面这个样子:
至此HelloWorld的Demo就结束了。
posted on 2012-04-23 07:37
陈梓瀚(vczh) 阅读(2463)
评论(12) 编辑 收藏 引用 所属分类:
GacUI