06 2016 档案
摘要:1.绘图相关 绘图设备DC(Device Context),绘图上下文/绘图描述表 HDC - DC句柄,表示绘图设备 GDI - Windows Graphics Device Interface,win32提供绘图的API 2.颜色 (1)颜色的表示 电脑使用红、绿、蓝:R - 0 ~ 255
阅读全文
摘要:1.资源的使用 (1)资源相关 资源脚本文件:*.rc文件 编译器:RC.exe 2.菜单资源的使用 (1)添加菜单资源 (2)加载菜单资源 在注册时设置菜单资源 加载菜单资源,设置到窗口 HMENU LoadMenu( HINSTANCE hInstance, LPCTSTR lpMenuName
阅读全文
摘要:1.右键菜单(Context Menu,上下文菜单)的使用 (1)创建菜单 右键菜单是一个弹出式菜单,使用CreatePopupMenu创建 (2)显示弹出式菜单 BOOL TrackPopupMenu( HMENU hMenu, //弹出菜单句柄 UINT uFlags, //显示方式 int x
阅读全文
摘要:1.菜单的分类 菜单其实是一个容器,容器中放的每个菜单项。 HMENU类型表示菜单,菜单每一项有相应的ID。 (1)窗口顶层菜单 窗口标题栏和客户区之间的区域。 (2)弹出式菜单 例如:右键菜单、下拉菜单等 (3)系统菜单 2.菜单的使用 (1)窗口顶层菜单 创建菜单:HMENU CreateMen
阅读全文
摘要:3.鼠标消息 (1)基本鼠标消息 WM_LBUTTONDOWN - 鼠标左键按下消息 WM_LBUTTONUP - 鼠标左键抬起消息 WM_RBUTTONDOWN - 鼠标右键按下消息 WM_RBUTTONUP - 鼠标右键抬起消息 WM_MOUSEMOVE - 鼠标移动消息 消息参数:wPARAM
阅读全文
摘要:1.绘图消息 WM_PAINT - 当窗口需要绘制的时候,会发送窗口处理函数。 需要重新绘制的情况: (1)窗口从创建到第一次显示 (2)从被遮挡到重新显示 (3)窗口变大(窗口变小时,窗口本身不需要重新,但如果注册窗口类中加了CS_HREDRAW | CS_VREDRAW风格,就会重绘) (4)调
阅读全文
摘要:1.消息队列 消息队列用于存放消息的一个队列,消息在队列中先入先出。所有窗口程序都具有消息队列,程序可以从队列中获取消息。 2.消息队列的类型 系统消息队列 - 由系统维护的消息队列,存放系统产生的消息,例如鼠标、键盘等。 程序消息队列 - 属于每一个应用程序(线程)的消息队列,由应用程序(线程)维
阅读全文
摘要:1.消息的获取 GetMessage - 从系统获取消息,将消息从系统中移除,是阻塞函数。当系统无消息时,GetMessage会等候下一条消息。 PeekMessage - 以查看的方式从系统获取消息,可以不将消息从系统移除,是非阻塞函数。当系统无消息时,返回FALSE,继续执行后续代码。 BOOL
阅读全文
摘要:1.所谓程序执行机制分为: 过程驱动:程序的执行过程总是按照预定好的顺序执行。 事件驱动:程序的执行是无序的,用户可以根据需要随机出发相应的事件。 win32窗口程序就是采用事件驱动方式执行,也就是消息机制。 2.什么是消息? 当系统通知窗口工作时,DispatchMessage函数就采用消息的方式
阅读全文
摘要:附加数据的作用: 注册窗口时,设置这两个数据的大小,可以提供窗口类和窗口存放自己的数据的空间。 1.窗口类附加数据 int cbClsExtra //窗口类附加数据buff大小 (1)用法: a.申请缓冲区 窗口对象.cbClsExtra = 200; //一般赋4的倍数 b.写入数据 DWORD
阅读全文
摘要:1.注册窗口类函数 (1)RegisterClass/RegisterClassEx ATOM RegisterClass(CONST WNDCLASS *lpWndClass); ATOM RegisterClassEx(CONST WNDCLASSEX *lpwcx); 注册成功后,返回一个非0
阅读全文
摘要:1.窗口类 窗口类包含了窗口的各种参数信息的数据结构。每个窗口都具有窗口类,基于窗口类创建窗口。每个窗口类都具有一个名称,使用之前必须注册到系统。 2.窗口类的分类 1)系统窗口类 系统已经定义好的窗口类,所有应用程序都可以直接使用。 2)应用程序全局窗口类 由用户自己定义,当前应用程序所有模块都可
阅读全文
摘要:1.ASC - 7位代表一个字符,128个 2.ASCII - 8位代表一个字符,256个 3.MBCS编码族 DBCS - 单双字节混合编码方式(计算机的主流编码方式):英文占1个字节,中文占2个字节。 例如:A 我 是 程 序 员 01 0203 0405 0607 0809 0A0B 这种方式
阅读全文