![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows编程
远方的枫叶
这个作者很懒,什么都没留下…
展开
-
文本编程
设备上下文又叫设备描述表或者设备环境,它用于应用程序和物理硬件(如显示器,打印机)的交互,是一种数据结构,其内容一般由相关函数通过设备上下文句柄来访问,而这些相关函数一般封装在CDC类中。CDC类与绘图,填充,字体等有关相关函数如下:CWnd::CreateSolidCaret :创建字符插入符,其中参数的的宽和高由设备描述表中字体的宽和高决定CWnd::CreateCaret:创建图原创 2015-04-04 20:41:42 · 770 阅读 · 0 评论 -
动态添加button按钮
实现按钮单击时的消息处理函数如下:先创建一个 BOOL型变量,用来判断是否已经添加过按钮,将其初始值设为FALSE。因控件类继承于CWnd,所以控件也是窗口, m_hWnd是CWnd类的一个public成员变量,再者每当一个窗体与CWnd类相关联时,会将窗体的句柄赋值给m_hWnd,否则m_hWnd为空,所以也可以通过窗体对象的成员变量m_hWnd来判断是否已经创建过按钮。voidCT原创 2015-04-16 18:48:37 · 1844 阅读 · 0 评论 -
模态对话框与非模态对话框
所有的对话框类都基于CDialog基类,CDialog类又继承于CWnd类。对话框分为模态对话框和非模态对话框 (一)创建模态对话框:void CMyboleView::OnDialog() { // TODO: Add your command handler code here CTestDlg dlg; dlg.DoModal();}CDialog::DoMo原创 2015-04-16 18:36:27 · 696 阅读 · 0 评论 -
在Win32 console平台下创建窗体应用程序
过程如下: (1)设计窗体类 (2)注册窗体类 (3)创建窗体 (4)显示窗体和更新窗体 (5)消息循环 (6)窗口过程(又称回掉函数)代码如下:#include #include LRESULT CALLBACK WinSunPro( //declare the function of W原创 2015-04-04 20:35:01 · 576 阅读 · 0 评论 -
对话框的伸缩
代码如下:void CTestDlg::OnBtnEx() { // TODO: Add your control notification handler code here CString str; if(GetDlgItemText(IDC_BTN_EX,str),str=="收缩<<") { SetDlgItemText(IDC_BTN_EX,"扩展>>"); } e原创 2015-04-20 12:25:02 · 399 阅读 · 0 评论 -
Windows消息分类
众所周知Windows 基于事件驱动机制的操作系统,消息对于操作系统来说就像鱼与水的关系。Windows的消息分类有很多种类,今天我们只谈一种比较有用的Windows消息分类,可分为三类,分别是标准消息、命令消息和通告消息。(一)标准消息 所有的以WM_开头的消息都是标准消息,除了WM_COMMAND消息除外,所有从CWnd派生的类都可以接收标准消息,包原创 2015-04-16 08:50:05 · 854 阅读 · 0 评论 -
windows消息机制详解
1. 引言Windows 在操作系统平台占有绝对统治地位,基于Windows 的编程和开发越来越广泛。Dos 是过程驱动的,而Windows 是事件驱动的[6],这种差别的存在使得很多Dos 程序员不能习惯Windows 的程序开发。而很多Windows 程序开发人员也只是对消息运行机制一知半解,想要掌握Windows 编程的核心,必须深刻理解消息机制。事件驱动围绕着消息的转载 2015-04-09 00:10:47 · 5023 阅读 · 0 评论 -
应用程序、操作系统、计算机硬件三者之间的关系
应用程序、操作系统、物理硬件三者之间的关系如下图所示三者之间的关系 各过程的的含义如下: 1、操作系统对计算机硬件设备进行操作,如控制声卡发出声音,控制显卡绘制图形等。 2、操作系统可以感受到用户对输入设备的操作,如鼠标的移动,键盘的按键被按下等,并且可以知道鼠标移动的位置,被按下键盘的字符,Windo原创 2015-04-08 23:19:42 · 17518 阅读 · 0 评论 -
设备上下文DC(又称设备描述表)
设备描述表概述当一个应用程序使用GDI函数时,必须先装入特定的设备驱动程序,然后为绘制窗口准备设备描述表,比如指定线的宽度和颜色、刷子的样式和颜色、字体、剪裁区域等等。不像其他Win32结构,设备描述表不能被直接访问,只能通过系列Win32函数来间接地操作。如同Windows“窗口类”一样,设备描述表也是一种Windows数据结构,用来描述绘制窗口所需要的信息。它定义了一个坐标映射模式、一转载 2015-04-07 22:55:24 · 1514 阅读 · 0 评论 -
CWnd与HWND的区别以、转换以及如何获取本窗体对象
一、区别HWND是句柄,CWnd是MFC窗体类,CWnd中包含HWND句柄成员对象是m_hWnd.HWND是Windows系统中对所有窗口的一种标识,即窗口句柄。这是一个SDK概念。 CWnd是MFC类库中所有窗口类的基类。微软在MFC中将所有窗口的通用操作都封装到了这个类中,如:ShowWindow等等,同时它也封装了窗口句柄即m_hWnd成员。二、如何得到窗口对象指针CWn原创 2015-04-04 23:34:28 · 1150 阅读 · 0 评论 -
MFC中用户界面元素更新原理(UPDATE_COMMAND_UI)
大家在编程的过程中一定遇到过这种情况:只要用ClassWizard给相应的菜单项或者工具栏按钮添加一个UPDATE_COMMAND_UI处理函数,在其中用CcmdUI::SetCheck等函数来设置这些用户界面元素的状态就可以了。但是MFC是怎么实现这个功能的呢? 需要根据某个变量的值来设定菜单项是否被选中,设置工具栏按钮是否被按下或者在状态栏中显示一些信息。MFC提供了一种机制来帮助转载 2015-04-04 20:22:44 · 671 阅读 · 0 评论 -
句柄与指针之间的区别
句柄与指针之间的区别:首先,指针指向系统中物理内存的地址,而句柄是windows在内存中维护的一个对象内存物理地址列表的整数索引,句柄是一种指向指针的指针。 在windows系统中的内存管理一般会将当前处于空闲状态的对象的内存释放掉,当需要访问的时候再重新提交分配物理内存,从而导致对象的物理地址是变化的,这样就不允许系统直接通过指针来访问(物理地址不断变化)的对象。 句转载 2015-04-04 23:24:28 · 16318 阅读 · 2 评论 -
对话框中控件的几种访问方法
1、通过相关函数进行访问CWnd::GetDlgItem 通常通过控件的Id来获取指向控件的指针,以便进一步对控件的操作CWnd::GetWindowText获取一个窗体的caption或者控件上的文本CWnd::SetWindowText Sets thewindow’s title to the specified text. If the window is a control,原创 2015-04-16 18:53:10 · 594 阅读 · 0 评论