随笔分类 - windows编程
关于:Warning: skipping non-radio button in group的处理方法整理
摘要:下面讲的是一个意思:The problem is that the next control in the tab order following the last radiobutton of your group must have the WS_GROUP flag set.1:ex:Cont...
阅读全文
MFC DestroyWindow[转]
摘要:考虑单窗口情况: 假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create。则销毁窗口的调用次序: 1. 手工调用pWnd->DestroyWindow(); 2. DestroyWindow会发送WM_DESTROY; 3. WM_DESTROY对应的消息处理函数是OnD...
阅读全文
窗口关闭的消息路由
摘要:有时候当我们点击窗口右上角的关闭按钮时,窗口在关闭之前会弹出一个提示对话框,询问我们是否真的要关闭窗口 。当我们点击确定以后,窗口会正常关闭,否则一切如常。那么上面的功能是如何实现的呢?让我们先来了解一下窗口关闭时的消息路由:首先当我们点击关闭按钮后,窗口会发出WM_SYSCOMMAND消息,此消息...
阅读全文
vc++ 不同对话框中传递信息的方法(基于自定义消息SendMessage) (转载)
摘要:转载自:http://blog.csdn.net/myj0513/article/details/6827360背景: 新建了一个基于对话框的MFC程序,在主对话框中添加tabcontrol控件,又新建了两个Dialog(CDialog1和CDialog2),将它们设为tabcontrol控件的子对...
阅读全文
模式对话框与非模式对话框的区别
摘要:模式对话框就是不处理它就没法处理父窗口,而非模式对话框就是不用先处理此对话框也可以处理父窗口.例子:在桌面上右击我的电脑,选择属性,弹出系 统属性窗口,点击下面的技术支持,弹出技术支持信息,现在再对系统属性窗口进行操作就操作不了,这种叫做模式对话框;关闭技术支持信息,在系统属性里选择 硬件,点击设备...
阅读全文
StretchBlt函数和BitBlt函数的用法
摘要:StretchBlt和BitBlt都用在双缓冲视图中,用来显示一幅图像一、StretchBlt函数从源矩形中复制一个位图到目标矩形,必要时按目标设备设置的模式进行图像的拉伸或压缩。也即是将内存中的位图拷贝到屏幕上,并且可以根据屏幕画图区的大小来进行伸缩,适应响应的屏幕(或图像控件)BOOL Stre...
阅读全文
vc 使窗口置顶 在最前面
摘要:bool SetWindowTop(CWnd* pWnd){ if(!pWnd) { return false; } if(pWnd->GetExStyle()&WS_EX_TOPMOST) { return true; } else { int i= pWnd->SetWindowPos(&CWn...
阅读全文
CWnd::MoveWindow 详解
摘要:CWnd::MoveWindowvoid MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE );void MoveWindow( LPCRECT lpRect, BOOL bRepaint = TRUE )...
阅读全文
窗口移动、改变大小的有关消息
摘要:窗口移动、改变大小的有关消息 将要提到的四条消息是:WM_MOVE、WM_SIZE、WM_ACTIVATE、WM_PAINT。 头两个是很简单的。当窗口被用户移动时将发送WM_MOVE消息,窗口新位置的坐标储存在lparam中。(消息在lparam和wparam中被进一步描述,它们是消息控制函数的...
阅读全文
转载VC6.0 子窗口和父窗口
摘要:这个是我周一在一家公司做的上机题中的一道,当场没做出来。我当时只跟考官说了设计思路,是带回来查了几本资料书之后才完成的。因为有半个学期没用VC开发了……,最近一直都在实践ASP.NET相关的…… 建立一个基于对话框的项目,在项目中实现点击“选项一”时切换到上面效果的子对话框(嵌入在主对话框内部的),...
阅读全文
MFC 的SetWindowPos 用法
摘要:转自于:http://hi.baidu.com/max_new/blog/item/e2bbe607b1f127c57b8947c0.html许多软件,特别是占桌面面积不是很大的软件,通常都提供了一个常居顶端的功能(可能有的软件不是这么叫法,但作用是相同的),它的作用是保持窗口一直在其他窗口的上面,...
阅读全文
vc创建模态和非模态对话框
摘要:模态对话框的创建创建模态对话框需要调用CDialog类的成员函数:DoModal,该函数的功能就是创建并显示一个模态对话框,关闭模态对话框的函数是EndDialog,该函数需要一个参数,这个参数就是DoModal函数的返回值。CTestDlg dlg;dlg.DoModal(); //打开模态对话框...
阅读全文
SetFocus (GetDlgItem (hwnd, idFocus))函数的各参数的具体含义
摘要:Setfocus(HWMD hwnd):将窗口hwnd设置成获得焦点GetDlgItem (hwnd, idFocus):此函数返回一个句柄具体参数的含义:hwnd:包含该窗口标志位的对话框的句柄idFocus: 指定将被检索的控件标识符,可以通过idFocus= GetWindowLong (hw...
阅读全文
窗口句柄浅析和获取窗口句柄的方法
摘要:句柄(HANDLE)是Windows程序中一个重要的概念,使用也非常频繁。在Windows程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标识这些资源的标识号,即句柄。窗口句柄是windows句柄的一种,且是重要的一种句柄。在Windows应用程序中,窗口...
阅读全文
获取窗口句柄
摘要:main getparent()为对话框的父窗口句柄不管窗口中有什么控件,button也好,ListBox也好,都可以通过GetDlgItem来获取该控件窗口句柄,比如Button的控件ID为IDC_BUTTON1,则HWND hWnd = GetDlgItem(IDC_BUTTON1)->GetS...
阅读全文
GetWindowRect和GetClientRect的区别详解
摘要:一:关于坐标 MFC中绘图时经常涉及到坐标计算,GetWindowRect和GetClientRect这两个函数,是获取逻辑坐标系中窗口或控件(其实也是窗口)大小和坐标的常用函数了,有什么不一样的?先说说什么叫逻辑坐标?讲到逻辑坐标,它相对的一个概念是设备坐标,是为了屏蔽掉不同设备属性差别而设置的...
阅读全文
RepositionBars的用法和参数的意义(引用别人的)
摘要:MFC窗口位置管理详细分析及实例 在一般用MFC编写的程序的窗口客户区中,可能有好几个子窗口(具有WM_CHILD风格的窗口)。上边是工具栏,中间是视图窗口,下边是状态栏。三个窗 口在框架的客户区里和平共处,互不重叠。主框架窗口的尺寸改变了,别的子窗口都能及时调整自己的尺寸以便保持相互位置关系不变,...
阅读全文
CImageList类Create函数参数解析
摘要:前面提到了CImageList类的Create(...)函数,虽然MSDN上已经有所解释,但仍有网友问到参数的具体含义,下面就我的理解,对参数进行一次轻量级的剖析 函数原型(其他重载函数请参看msdn):BOOL Create( int cx, int cy, UINT nFlags, ...
阅读全文
自己动手绘制ToolBar
摘要:VCMFC工具栏(CToolBar)控件工具栏工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创建,如CButton按钮类,现举一个用代码创建按钮控件并显示在窗口...
阅读全文