随笔分类 - VC
摘要:目录线程概述线程内幕线程相关函数详解线程创建线程睡眠(CPU时间片分配方式)线程的优先级线程的终止线程同步(本章节中例子都是用 VS2005 编译调试的)线程概述组成内核对象 操作系统用它来对线程实施管理,内核对象也是系统用来存放线程统计信息的地方,但创建线程时,系统创建一个内核对象,该线程内核对象不是线程本身,而是操作系统用来管理线程的较小数据结构,可以将线程内核对象视为有关于线程的统计信息组成的一个小型数据结构 线程栈 它用于维护线程在执行代码时需要的所有函数参数和局部变量注意线程总是在某个进程环境中创建的,而且会在这个进程内部销毁.系统从进程的地址工具中分配内存,供线程的栈使用,...
阅读全文
摘要:目录邮槽匿名管道命名管道剪贴板(本章节中例子都是用 VS2005 编译调试的)进程还可以通过套接字进行通信邮槽通信流程:服务器客户端注意:邮槽是基于广播通信体系设计出来的,它采用无连接的不可靠的数据传输邮槽可以实现一对多的单向通信,我们可以利用这个特点编写一个网络会议通知系统,而且实现这一的系统所需要编写的代码非常少.如果读者是项目经理,就可以给你手下每一位员工的机器上安装上这个系统中的邮槽服务器端程序,在你自己的机器上安装油槽的客户端程序,这样,当你想通知员工开会,就可以通过自己安装的邮槽客户端程序.将开会这个消息发送出去,因为机器上都安装了邮槽服务器端的程序,所以他们都能同时收到你发出的会
阅读全文
摘要:目录进程概述创建进程函数详解进程的创建进程的终止进程总体执行流程进程线程优先级进程通信(本章节中例子都是用 VS2005 编译调试的)进程概述进程定义:通常被定义为一个正在运行的程序实例,是一个程序在其自身的地址空间中的一次执行活动程序相关描述:定义: 计算机指令集合,它以文件的形式存储在磁盘上与进程关系: 一个程序可以对应多个进程windows支持两种类型的应用程序:GUI程序(Graphical User Interface 图形用户界面)和CUI程序(Console User Interface 控制台用户界面).进程组成:内核对象: 内核对象也是用系统用来存放进程的统计信息的地方...
阅读全文
摘要:目录资源描述表中对话框定义 模态对话框 非模态对话框 MessageBox(本章节中例子都是用 VS2005 编译调试的) 资源描述表中对话框定义 格式: 对话框名 DIALOG[载入特性] X,Y,Width,Height[设置选项] { 对话框控件定义; } 说明: 对话框名称: 标识对话框资源,可为一个字符串也可以为1~65535之间的任何数 DIALOG: 关键字 载入特性: 对话框资源的载入特性选项与菜单资源相同 X,Y,Width,Height: X,Y: 为对话框左上角坐标 Wi...
阅读全文
摘要:设备坐标空间和映射模式坐标空间定义: 一个坐标空间是一个平面的空间,通过使用两个相互垂直并且长度相等的轴来定位二维对象分类:世界坐标系空间: 应用程序运用世界坐标系空间对图形输出进行旋转、斜切或者反射页面空间: 称为逻辑空间设备空间: 称为逻辑空间物理设备空间: 通常指应用程序窗口的客户区;但是它也包括整个桌面、完整的窗口(包括框架、标题栏和菜单栏)或打印机的一页或绘图仪的一页纸.物理设备的尺寸随显示器、打印机或绘图仪所设置的尺寸而变化如下图所示: 开始空间若应用程序调用了SetWorldTransform函数,那么映射就从应用程序的世界坐标系空间开始若应用程序没有调用了SetWor...
阅读全文
摘要:目录 GUI作图概述描绘图形位图文本输出设置画刷/画笔/字体MFC 资源句柄的获得与释放(本章节中例子都是用 VS2005 编译调试的)GUI作图概述作图步骤获得设备描述表资源句柄绘图操作释放设备描述表资源句柄流程图如下:获取/释放设备资源描述表获取设备资源描述表: BeginPaint / GetDC释放设备资源描述表: EndPaint / ReleaseDCBeginPaint / GetDC两种方式的区别: BeginPaint GetDC 使用环境 只用于图形刷新时获取设备环境 使用较为广泛操...
阅读全文
摘要:目录菜单在 .rc 文件中的格式加载/卸载菜单菜单常用的操作创建弹出菜单菜单加速键MFC下菜单消息路由(本章节中例子都是用 VS2005 编译调试的)菜单在 .rc 文件中的格式.rc 中的菜单格式虽然现在微软的编译器中都会自动生成好用的 rc 资源但是还是可以了解下它内部代码的意义.这里是不太建议直接在 .rc 文件中修改菜单因为修改了.rc 文件后还需在其他文件中修改对应地方,否则在编译中会报错.所以还是建议在编译器的资源管理器中修改对话框.格式:menuID MENU [,载入特性选项]{菜单项列表}说明:menuID: 菜单资源标识MEMU: 关键字载入特性:DISCARDABLE 当
阅读全文
摘要:目录 API之消息函数API之控件与消息函数API之文本和字体函数API之位图、图标和光栅运算函数API之菜单函数API之设备场景函数API之进程和线程函数API之网络函数Windows API 错误代码及文本描述:Windows API 错误代码及文本描述(一)Windows API 错误代码及文本描述(二)Windows API 错误代码及文本描述(三)Windows API 错误代码及文本描述(四)API之消息函数函数名作用BroadcastSystemMessage将一条系统消息广播给系统中所有的顶级窗口GetMessagePos取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置Ge
阅读全文
摘要:鼠标消息在窗口显示区域鼠标消息WM_MOUSEMOVE当鼠标在窗口的显示区域移动时WM_LBUTTONDOWN按下鼠标左键WM_LBUTTONUP释放鼠标左键WM_LBUTTONDBLCLK双击鼠标左键WM_MBUTTONDOWN按下鼠标中键WM_MBUTTONUP释放鼠标中键WM_MBUTTONDBLCLK双击鼠标中键WM_RBUTTONDOWN按下鼠标右键WM_RBUTTONUP释放鼠标右键WM_RBUTTONDBLCLK双击鼠标右键wParam为鼠标按键以及Shift和Ctrl键的状态 lParam为鼠标的显示区域x坐标y坐标(高字节为x,低字节为y)WM_NCHITTEST鼠标命中测试
阅读全文
摘要:Window消息来源有以下4种输入消息控制消息系统消息用户消息Windows消息分布消息范围说明0~ 0x03FF(WM_USER–1)系统消息0x0400(WM_USER) ~0x7FFF(WM_APP - 1)自定义窗口类整数消息0x0800(WM_APP) ~0xBFFF应用程序自定义消息0xC000~0xFFFF应用程序字符串消息>0xFFFF为以后系统应用保留通知消息-按钮通知消息-列表框消息名称说明消息名称说明BN_CLICKED单击按钮LBN_DBLCLK用户双击了一项BN_DISABLE按钮被禁止LBN_ERRSPACE列表框内存不足BN_DOUBLECLICKED双击按
阅读全文
摘要:目录 三个角度窗口含义窗口类型窗口关系线程和窗口三个角度窗口含义从应用程序开发员的角度窗口就是图形用户界面句柄,以该句柄作为系统API的参数,就可以对窗口进行各种操作从MFC程序员角度窗口就是一个CWnd对象从操作系统角度窗口是一块普通内存块.该内存中保存了一个数据结构的信息(WNDCLASS).操作系统利用这个数据结构维护窗口状态窗口类型可重叠窗口这种窗口是有标题栏,边框,客户区域的顶层窗口,它可以充当应用程序的主窗口,这类窗口还可以有窗口菜单,最大和最小化按钮及滚动条弹出窗口这类窗口具有可重叠窗口的全部特性,但其标题栏是可选的,这类窗口是在应用程序的主窗口中出现的临时窗口.对话框,消息提示
阅读全文
摘要:目录窗体设计回调函数设计总体开发流程透明窗口编写(本章节中例子都是用 VS2005 编译调试的)窗体设计窗体设计和消息循环设计流图: 代码示例://设计窗口WNDCLASS wndclass;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.h...
阅读全文
摘要:应用程序Windows的应用程序一般包含窗口(Window),它主要为用户提供一种可视化的交互方式(窗口是由线程(Thread)创建的).Windows 系统通过消息机制来让系统和用户进行交互,用户通过触发事件来触发消息,消息(Message)被发送,保存,处理,一个线程会维护自己的一套消息队列(Message Queue)[仅当线程有对应的创建窗口和处理窗口消息时候],在发生输入事件之后,Windows 系统将事件转换为一个消息并将消息放入程序的消息队列中.程序通过执行一块称之为「消息循环」的程序代码从消息队列中取出消息并调用窗体的回调函数处理消息,这样不仅保持线程间的独占性.而且队列的以先
阅读全文
摘要:两种方法一种方法获得控制台输入输出句柄函数原型:HANDLE GetStdHandle(DWORD nStdHandle);参数:nStdHandle定义函数返回的是标准输入或标准输出或标准错误的句柄.取值为一下STD_INPUT_HANDLE 标准输入STD_OUTPUT_HANDLE 标准输出STD_ERROR_HANDLE 标准错误返回值:如果函数成功,这个返回值为设备资源句柄如果函数是吧,返回值是INVALID_HANDLE_VALUE标准,如果想要知道错误信息,调用GetLastError函数去获得头文件:window.h说明:返回一个标准输入或输出或错误的句柄设置控制台输入输出文本
阅读全文

浙公网安备 33010602011771号