摘要: 如果大家有做过标题栏的自绘,肯定会感慨各种不容易,并且现有的一些资料虽然完美的实现了功能,但是代码比较乱,需要自行整理。如果用duilib,就是小case啦。duilib其实并没有区分标题栏和客户区,它的实现方法是屏蔽了系统自带的标题栏,用客户区来模拟标题栏,所以想怎么画就怎么画,非常方便。1、我们首先屏蔽一下系统自带的标题栏, 在HandleMessage函数里屏蔽以下三个消息即可 WM_NCACTIVATE、WM_NCCALCSIZE、WM_NCPAINT代码如下: virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPAR.. 阅读全文
posted @ 2013-10-16 14:48 hpze2000 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 上一个Hello World的教程里有一句代码是这样的:CControlUI*pWnd=newCButtonUI;也就是说,其实那整块绿色背景区域都是按钮的区域。(这里简要介绍下,CControlUI 是duilib中所有控件的基类,而CButtonUI则是按钮类,更多的控件会在后面的教程一一介绍。)那么怎样响应按钮的点击消息呢?我们需要几个步骤:1、调用AddNotifier函数将消息加入duilib的消息循环2、给按钮设置一个唯一的控件ID(SetName函数)3、在Notify函数里处理按钮点击消息。代码如下:class CDuiFrameWnd : public CWindowWnd. 阅读全文
posted @ 2013-10-16 14:47 hpze2000 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 小伙伴们有点迫不及待了么,来看一看Hello World吧:新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去:#include #include int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow){ ::MessageBox(NULL, _T("Hello World !"), NULL, NULL); return 0;} 运行即可看到如下结果:咦,这不是win32程序么,你小子忽悠我?~O(∩_ 阅读全文
posted @ 2013-10-16 14:43 hpze2000 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 会SVN和配置VS环境的请跳过此篇~既然是入门教程,那当然得基础点,因为搜索duilib相关资料时,发现有些小伙伴到处都是编译错误,以及路径配置错误等等,还有人不知道SVN,然后一个个文件手动下载的。其实吧,duilib的定位好像是这样的: 有一定的界面基础,懂MFC、WTL、windows消息机制等等。不然的话,即使环境配置好了,看Demo也绕晕你~\(^o^)/~所以对于没有任何基础的童鞋,请先打好基础,不然学习duilib会走更多歪路,推荐以下资料:书籍:《windows程序设计》教程: 孙鑫视频(这个我只下载了,但没看过,不过评价不错)网站:国际知名网站(国外网站:现在比codegu. 阅读全文
posted @ 2013-10-16 14:42 hpze2000 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 关于duilib的介绍就不多讲了,一来不熟,二来小伙伴们想必已经对比了多个界面库,也无需赘述。下面进入正题: 不看广告看疗效! 已有众多知名公司采用duilib做为界面库,如华为网盘、金山快盘、酷我音乐、爱奇艺视频、百度杀毒、百度卫士、百度管家等一系列产品。而duilib自己提供的Demo有QQ、QQ旋风、360等等。下面是一部分截图:疗效就不用再多说了吧~O(∩_∩)O~这么好的东东,都开源三年多了,肿么一直没有个像样的文档和入门教程咧? 那些知名公司的界面小伙伴们能马上用么??? 此处省略N字... 这就是Alberl写入门教程的原因。Alberl虽然关注DirectUI快三年了,但是.. 阅读全文
posted @ 2013-10-16 14:24 hpze2000 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 命令 envenv:显示当前用户的环境变量;which php 阅读全文
posted @ 2013-09-29 10:32 hpze2000 阅读(727) 评论(0) 推荐(0) 编辑
摘要: var WinAlerts = window.alert; window.alert = function (e) { if (e != null && e.indexOf("提示内容")>-1) { //和谐了 } else { WinAlerts (e); } }; 阅读全文
posted @ 2013-08-02 13:04 hpze2000 阅读(137) 评论(0) 推荐(0) 编辑
摘要: PHP 和C#的值拷贝区别 (如果哪里说的不对,还望指出!本人也是新手,只是秉承分享的精神来写这篇文章) $a = 2; $b = $a; //在php中这里把b的地址指向a 所以b此时也等于2;区别就在这 $a = 5; //这时php中a的值又重新写值,所以php核心这时才会把b重新分配一个地址,然后把a原先的值进行拷贝。这就是 写时拷贝 原理 , 也就是说,除非进行写操作,否则值类型就是指向一个地址。而C#中。值类型的复制。永远都是新建一个地址 如: int a = 2; int b = a; //此时不管有没有进行a的二次写入。.NET都会把给b分配一个新的内存空间(值存在... 阅读全文
posted @ 2013-05-23 16:15 hpze2000 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2012-05-28 17:44 hpze2000 阅读(1296) 评论(1) 推荐(0) 编辑