今晚終于把
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) 閱讀(2471)
評論(12) 編輯 收藏 引用 所屬分類:
GacUI