随笔-341  评论-2670  文章-0  trackbacks-0
    今晚终于把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(640480));
    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

评论:
# re: GacUI文档已经全部写完,进入制作Demo阶段 2012-04-23 21:03 | 春秋十二月
你真是个有理想的青年,能坚持下来做自己的事,敬佩  回复  更多评论
  
# re: GacUI文档已经全部写完,进入制作Demo阶段[未登录] 2012-04-23 21:46 | diryboy
Orz!!  回复  更多评论
  
# re: GacUI文档已经全部写完,进入制作Demo阶段 2012-04-24 00:23 | Vczh
I am using my team's iPad to post this comment.  回复  更多评论
  
# re: GacUI文档已经全部写完,进入制作Demo阶段 2012-04-24 01:18 | 蔡东赟
支持,有需要帮忙,可以叫一声  回复  更多评论
  
# re: GacUI文档已经全部写完,进入制作Demo阶段[未登录] 2012-04-24 02:13 | 陈梓瀚(vczh)
@蔡东赟
现在需要并且不擅长的事情就是制作一个GacUI的网站的说……  回复  更多评论
  
# re: GacUI文档已经全部写完,进入制作Demo阶段 2012-04-24 02:55 | 蔡东赟
@陈梓瀚(vczh)
我这边有人,需要加我qq 我主页那边有qq。 推广seo 可以找我们社区内的人帮忙。 我现在也是别人 帮着捣鼓的  回复  更多评论
  
# re: GacUI文档已经全部写完,进入制作Demo阶段 2012-04-24 06:29 | Zblc(邱震钰)
@陈梓瀚(vczh)
Mark.  回复  更多评论
  
# re: GacUI文档已经全部写完,进入制作Demo阶段 2012-04-24 21:54 | Ooseven
@Vczh
在微软公司用ipad?反了你们!  回复  更多评论
  
# re: GacUI文档已经全部写完,进入制作Demo阶段 2012-04-24 23:02 | 嵌入式培训
期待成的那天  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理