随笔分类 -  Win32编程

摘要:1.windows线程 windows线程是可以执行的代码的实例。系统以线程为单位调度程序。 一个程序中可以有多个线程,实现多任务处理。 2.windows线程的特点 (1)线程都有一个ID (2)线程具有自己的安全属性 (3)每个线程都有自己的内存栈 (4)每个线程都有自己的寄存器信息 3.进程多 阅读全文
posted @ 2016-07-14 18:24 甩锅侠 阅读(227) 评论(0) 推荐(0)
摘要:1.windows进程 进程是一个容器,包含程序执行需要的代码、数据、资源等信息。windows是多任务操作系统,可以同时执行多个进程。 windows进程特点: (1)每个进程都有自己的ID (2)每个进程都有自己的地址空间,进程之间无法访问对方的地址空间 (3)每个进程都有自己的安全属性 (4) 阅读全文
posted @ 2016-07-14 11:20 甩锅侠 阅读(215) 评论(0) 推荐(0)
摘要:1.windows内存地址空间 (1)地址空间 程序中可以寻址的最大范围,对于32操作系统,地址空间的范围为0-4G(2^32),地址空间越大,相对程序的编写就会容易。 (2)地址空间的划分 a.用户地址空间:0-2G(0-7FFFFFFF) 存放用户的程序和数据。用户空间的代码是不能访问内核空间的 阅读全文
posted @ 2016-07-12 21:28 甩锅侠 阅读(281) 评论(0) 推荐(0)
摘要:windows文件 1.创建或打开文件 HANDLE CreateFile( LPCTSTR lpFileName, //文件名称 DWORD dwDesiredAccess, //访问权限 DWORD dwShareMode, //共享方式 LPSECURITY_ATTRIBUTES lpSecu 阅读全文
posted @ 2016-07-12 10:39 甩锅侠 阅读(195) 评论(0) 推荐(0)
摘要:1.动态库中的类 (1)DLL中类的导出 在类名称前添加 _declspec(dllexport),例如: class _declspec(dllexport) CMath{ ... }; 通常使用预编译开关切换类的导入导出定义,例如: #ifdef DLLCLASS_EXPORT #define 阅读全文
posted @ 2016-07-11 17:04 甩锅侠 阅读(210) 评论(0) 推荐(0)
摘要:1.动态库程序 (1)动态库特点 运行时独立存在 不会链接到执行程序 使用时加载(使动态库程序运行) (2)与静态库的比较 由于静态库是将代码嵌入到使用程序中,多个程序使用时,会有多份代码,所以代码的体积会增大。 动态库的代码只需要存在一份,其他程序通过函数地址使用,代码体积小。 静态库发生变化后, 阅读全文
posted @ 2016-07-10 12:31 甩锅侠 阅读(233) 评论(0) 推荐(0)
摘要:1.分类 (1)静态库程序 运行时不存在,会被链接到可执行文件或动态库中,目标程序的归档。 文件扩展名:LIB (2)动态库程序: 运行时独立存在,不会被链接到可执行文件或其他动态库中。 文件扩展名:DLL 2.静态库程序 (1)特点 运行时不存在 链接到可自行文件或者动态库中 目标程序的归档 3. 阅读全文
posted @ 2016-07-09 18:47 甩锅侠 阅读(318) 评论(0) 推荐(0)
摘要:1.编辑框 (1)相关信息 从风格可以将编辑框分成几类: 单行编辑框 - 只能处理一行文字 多行编辑框 - 可以显示多行文字 密码编辑框 - 密码输入ES_PASSWORD (2)使用 a.创建 窗口类名称 - EDIT b.窗口消息 设置编辑框的文本内容 WM_SETTEXT:wPARAM - 不 阅读全文
posted @ 2016-07-07 21:47 甩锅侠 阅读(342) 评论(0) 推荐(0)
摘要:1.控件 系统已经定义窗口类型,相应窗口的处理函数等都已经由系统定义完成。例如编辑框、按钮等。 2.控件创建 不需要注册,直接使用CreateWindow/Ex创建该类窗口。 控件创建时,每个控件都具有一个ID。 3.控件消息 程序和控件之间的交互都是用过消息完成的。 控件的窗口消息: 我们想获取控 阅读全文
posted @ 2016-07-05 10:18 甩锅侠 阅读(261) 评论(0) 推荐(0)
摘要:1.对话框分类 (1)模式对话框 当对话框显示时,会禁止本进程其他窗口的输入等用户交互操作 (2)无模式对话框 在对话框显示时,本进程其他窗口同样可以接受输入等用户交互操作 2.模式对话框基本使用 (1)对话框窗口处理函数(并非真正的对话框处理函数,缺省处理函数会调用自定义的处理函数) INT CA 阅读全文
posted @ 2016-07-03 22:50 甩锅侠 阅读(376) 评论(0) 推荐(0)
摘要:1.文字的绘制 TextOut - 将文字绘制在指定坐标位置 int DrawText( HDC hDC, //DC句柄 LPCTSTR lpString, //字符串 int nCount, //字符个数 LPRECT lpRect, //绘制文字的矩形区域 UINT uFormat); //绘制 阅读全文
posted @ 2016-07-03 17:19 甩锅侠 阅读(294) 评论(0) 推荐(0)
摘要:1.坐标系分类 (1)设备坐标系 - 以像素为单位,以设备左上角为原点,X向右为正,Y向下为正的坐标系 屏幕坐标系:以当前屏幕左上角为原点的坐标系 窗口坐标系:以窗口左上角为原点的坐标系 客户区坐标系:以窗口的客户区左上角为原点的坐标系 (2)逻辑坐标系 在GDI绘图中,都是使用逻辑坐标系绘图,逻辑 阅读全文
posted @ 2016-07-03 10:52 甩锅侠 阅读(409) 评论(0) 推荐(0)
摘要:1.GDI绘图对象 - 画笔 (1)作用 线的颜色、线型、线粗 (2)使用 a.创建句柄 HPEN CreatePen( int fnPenStyle, //画笔的样式 int nWidth, //画笔的粗细 COLORREF crColor); //画笔的颜色 成功,返回画笔句柄 画笔样式:PS_ 阅读全文
posted @ 2016-07-01 22:28 甩锅侠 阅读(355) 评论(0) 推荐(0)
摘要:1.绘图相关 绘图设备DC(Device Context),绘图上下文/绘图描述表 HDC - DC句柄,表示绘图设备 GDI - Windows Graphics Device Interface,win32提供绘图的API 2.颜色 (1)颜色的表示 电脑使用红、绿、蓝:R - 0 ~ 255 阅读全文
posted @ 2016-06-29 22:30 甩锅侠 阅读(385) 评论(2) 推荐(0)
摘要:1.资源的使用 (1)资源相关 资源脚本文件:*.rc文件 编译器:RC.exe 2.菜单资源的使用 (1)添加菜单资源 (2)加载菜单资源 在注册时设置菜单资源 加载菜单资源,设置到窗口 HMENU LoadMenu( HINSTANCE hInstance, LPCTSTR lpMenuName 阅读全文
posted @ 2016-06-26 10:36 甩锅侠 阅读(334) 评论(0) 推荐(0)
摘要:1.右键菜单(Context Menu,上下文菜单)的使用 (1)创建菜单 右键菜单是一个弹出式菜单,使用CreatePopupMenu创建 (2)显示弹出式菜单 BOOL TrackPopupMenu( HMENU hMenu, //弹出菜单句柄 UINT uFlags, //显示方式 int x 阅读全文
posted @ 2016-06-25 12:13 甩锅侠 阅读(227) 评论(0) 推荐(0)
摘要:1.菜单的分类 菜单其实是一个容器,容器中放的每个菜单项。 HMENU类型表示菜单,菜单每一项有相应的ID。 (1)窗口顶层菜单 窗口标题栏和客户区之间的区域。 (2)弹出式菜单 例如:右键菜单、下拉菜单等 (3)系统菜单 2.菜单的使用 (1)窗口顶层菜单 创建菜单:HMENU CreateMen 阅读全文
posted @ 2016-06-22 23:36 甩锅侠 阅读(275) 评论(0) 推荐(0)
摘要:3.鼠标消息 (1)基本鼠标消息 WM_LBUTTONDOWN - 鼠标左键按下消息 WM_LBUTTONUP - 鼠标左键抬起消息 WM_RBUTTONDOWN - 鼠标右键按下消息 WM_RBUTTONUP - 鼠标右键抬起消息 WM_MOUSEMOVE - 鼠标移动消息 消息参数:wPARAM 阅读全文
posted @ 2016-06-19 22:58 甩锅侠 阅读(385) 评论(0) 推荐(0)
摘要:1.绘图消息 WM_PAINT - 当窗口需要绘制的时候,会发送窗口处理函数。 需要重新绘制的情况: (1)窗口从创建到第一次显示 (2)从被遮挡到重新显示 (3)窗口变大(窗口变小时,窗口本身不需要重新,但如果注册窗口类中加了CS_HREDRAW | CS_VREDRAW风格,就会重绘) (4)调 阅读全文
posted @ 2016-06-18 16:25 甩锅侠 阅读(369) 评论(0) 推荐(0)
摘要:1.消息队列 消息队列用于存放消息的一个队列,消息在队列中先入先出。所有窗口程序都具有消息队列,程序可以从队列中获取消息。 2.消息队列的类型 系统消息队列 - 由系统维护的消息队列,存放系统产生的消息,例如鼠标、键盘等。 程序消息队列 - 属于每一个应用程序(线程)的消息队列,由应用程序(线程)维 阅读全文
posted @ 2016-06-16 22:59 甩锅侠 阅读(263) 评论(0) 推荐(0)