DuiLib(一)——窗口及消息】的更多相关文章

最近看了下开源界面库duilib的代码,写几篇相关的文章.网上已经有好多相关的文章了,我这里只是记录自己的学习过程,写到哪里算哪里,权当自娱自乐. duilib是一轻量级的direcui界面库,所谓directui是指在一真实的窗口之上画出各种控件.所以先从界面库的窗口及消息入手比较好,可以抓住树根,再顺着往上分析. duilib将窗口封装成类CWindowWnd,创建窗口之前要先注册窗口: bool CWindowWnd::RegisterWindowClass() { WNDCLASS wc…
使用Duilib创建窗口并禁止窗口最大化 第一步: XXXFrame.Create(NULL, _T("XXXFrame"), UI_WNDSTYLE_EX_FRAME, WS_EX_WINDOWEDGE |WS_EX_ACCEPTFILES); 第二步: 注意:若create时窗口风格没有指定UI_WNDSTYLE_EX_FRAME,而是指定了UI_WNDSTYLE_FRAME,就算写了第二步,双击还是无法禁止 ------------------------------------…
看下CWindowWnd类与CPaintManagerUI类是咋进行消息分发的吧. 1. 先看下CPaintManagerUI类的MessageLoop函数: void CPaintManagerUI::MessageLoop() { MSG msg = { 0 }; while( ::GetMessage(&msg, NULL, 0, 0) ) {    // 获取消息 if( !CPaintManagerUI::TranslateMessage(&msg) ) { // 消息过滤 ::…
第3章窗口与消息 3.1 Windows_编程模型 (1)窗口程序的运行过程   ①设计窗口   ②注册窗口类(RegisterClassEx).在注册之前,要先填写RegisterClassEx的参数WNDCLASSEX结构.   ③建立窗口(CreateWindowEx).   ④显示窗口(ShowWindows).   ⑤刷新窗口客户区(UpdateWindow).   ⑥进入无限的消息获取和处理的循环.首先获取消息(GetMessage),如果有消息到达,则将消息分派到回调函数处理(Di…
    第三章 窗口与消息 1,windows窗口过程:应用程序所创建的每一个窗口都有一个与之关联的窗口过程,用于处理传递给窗口的消息. 2,窗口依据窗口类来创建.窗口类标识了用于处理传递给窗口的消息的窗口过程.窗口类的使用允许多个窗口共享一个窗口类,因而多个窗口可以使用相同的窗口过程. 3,Windows程序开始执行的时候,Windows首先为该程序创建一个消息队列.该消息队列中存放着应用程序可能创建的所有窗口的消息.Windows应用程序中一般包含一小段称为"消息循环"的代码,该段…
你QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法: 要么重写需要弹出的窗体的事件: protected override CreateParams CreateParams     {     get     {         const int WS_EX_NOACTIVATE = 0x08000000;         CreateParams cp = base.CreateParams;         cp.ExStyle |= …
眼见为实(2):介绍Windows的窗口.消息.子类化和超类化 这篇文章本来只是想介绍一下子类化和超类化这两个比较“生僻”的名词.为了叙述的完整性而讨论了Windows的窗口和消息,也简要讨论了进程和线程.子类化(Subclassing)和超类化(Superclassing)是伴随Windows窗口机制而产生的两个复用代码的方法.不要把“子类化.超类化”与面向对象语言中的派生类.基类混淆起来.“子类化.超类化”中的“类”是指Windows的窗口类. 0 运行程序 希望读者在阅读本节前先看看"谈谈…
Spy++ —— 窗口.消息查看分析利器 Spy++ —— 窗口.消息查看分析利器 2016年07月15日 00:25:22 阅读数:23170 1,简介   Microsoft Spy++是一个非常好的查看Windows操作系统的窗口.消息.进程.线程信息的工具,简单易用,功能强大.   2,下载地址   百度网盘:http://pan.baidu.com/s/1skMJUkH   3,使用场景   (1)我经常用来查询一个不知道从哪里弹出来的广告窗口是哪个进程搞的鬼……然后干掉 (2)枚举所…
转载:http://www.cnblogs.com/XiHua/articles/3490490.html 转载:http://blog.csdn.net/lostspeed/article/details/19275249 知识回顾: 当鼠标在窗口内移动,点击或者释放时都会产生WM_NCHITTEST消息,响应函数OnNcHitTest会返回一个枚举值,系统会根据这个枚举值进行相应的处理. 当返回值为HTCAPTION时,系统会认为此时鼠标位于标题栏上,因而当鼠标按下并移动时就会执行拖动操作.…
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/38253297 第一部分 我在前一段时间研究了怎么制作duilib的菜单,花了几天时间以MenuDemo为基础做出个duilib的菜单以备自用,近些天在群里经常会碰到群友问如何给MenuDemo增加消息响应,为了避免重复的回答我特意写这篇日志,希望可以帮到需要之人,同时也介绍了如何美化菜单的效果.动态修改自身的状态以及通过增加属性来优化菜单的xml文件编写过程,先截个图展…