
Window消息学习
文章平均质量分 75
CreatedSign
这个作者很懒,什么都没留下…
展开
-
Window消息学习之 WM_NCHITTEST
本文来介绍关于WM_NCHITTEST,这个消息在窗口中的响应函数是OnNcHitTest,详细信息如下:CWnd::OnNcHitTestafx_msg UINT OnNcHitTest( CPoint point );返回值:下面列出的鼠标击中测试枚举值之一。· HTBORDER 在不具有可变大小边框的窗口的边框上。· HTBOTTOM 在窗口的水平边框原创 2013-12-23 11:16:26 · 1278 阅读 · 0 评论 -
SetLayeredWindowAttributes 函数的使用方法,对话框透明的方法
这片文章来介绍一下使对话框透明的方法,使用下面的API函数,当然MFC中的CWnd类中也有该函数的(注意:我用的环境为VS2008,可以直接使用该函数,VC6.0不同的使用方法不同,网上有介绍):函数的原型为BOOL SetLayeredWindowAttributes(HWND hwnd, // handle to the layered windowCOLORR原创 2014-02-10 17:06:54 · 8192 阅读 · 0 评论 -
MFC CTime 类的详细使用方法
1、日期和时间类简介 CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。CTimeSpan类的对象表示的是时间间隔。 CTime类和CTimeSpan类一般不会被继承使用。两者对象的大小都是8个字节。 CTime表示的日期上限是3000年12月31日,下限是1970年1月1日 12:00:00 AM GMT。原创 2014-02-21 16:37:23 · 5498 阅读 · 1 评论 -
MFC 消息之WM_CTLCOLOR和OnCtlColor消息的使用方法总结
很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等, 其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色,其用法如下:1.首先在自己需要设置界面的对话框上点击原创 2014-02-08 13:43:49 · 14639 阅读 · 0 评论 -
如何判断窗口是最大化状态 还是 最小化状态 的API函数
MFC中的CWnd类提供了下面两个函数用于判断窗口的最大化、最小化状态,其子类继承了这些函数:IsZoomed:判断窗口是否处于最大化状态。IsIconic:判断窗口是否处于最小化状态。可以使用CWnd::ShowWindow函数设置窗口的显示状态,其函数原型如下:BOOL CWnd::ShowWindow( int nCmdShow );其中nCmdSho原创 2014-02-07 15:45:09 · 8226 阅读 · 0 评论 -
MFC 中实现在客户区拖动来拖动窗口的方法总结
VC++实现无标题栏对话框的拖动 其实说白了就是欺骗,欺骗谁了?呵呵,当然是欺骗windows,本来是移动标题栏可以拖动窗体,那么我们现在是拖动客户区来移动,当我们拖动标题栏的时候windows产生一个WM_NCHITTEST消息,这个消息确定鼠标点击的哪个位置,这个消息返回一个值,从而确定是“客户区”还是“非客户区”,当返回的值是HTCAPTION,说明这时拖动的是标题栏 那么我们现在就来原创 2014-02-07 14:35:30 · 5634 阅读 · 0 评论 -
WM_NCHITTEST 消息使用解说
移动一个无标题栏的窗体时,要使用WM_NCHITTEST消息,这个消息使用情况大概如下:通常,我们拖动对话框窗口的标题栏来移动窗口,但有时候,我们想通过鼠标在客户区上拖动来移动窗口。一个容易想到的方案是,处理鼠标消息WM_LBUTTONDOWN和WM_LBUTTONUP。在OnLButtonUp函数中计算鼠标位置的变化,调用MoveWindow实现窗口的移动。注意,拖动标题原创 2014-02-07 12:29:09 · 2785 阅读 · 0 评论 -
ShellExecute 的使用方法总结
这篇文章是介绍ShellExecute的使用方法的总结,详细介绍了ShellExecute函数的使用方法。原创 2014-01-27 11:01:16 · 8209 阅读 · 0 评论 -
VC++操作Excel在VS2008环境中的配置过程
VS2008 操作 Excel2007的配置过程,环境配置好后,就可以操作Excel中的表格了。原创 2014-01-26 17:18:11 · 2002 阅读 · 0 评论 -
GDI+ 如何获取字符串实际的输出像素值(高度和宽度)
下面用一个简单的例子来说明在GDI+中如何获取字符串占用的宽度和高度简单来说就是调用Graphics对象的MeasureString函数,下面是一个简单的例子//创建Graphics对象CPaintDC dc(this);Graphics gra(dc.m_hDC);//首先创建字体相关FontFamily fontFamily(L"Arial");原创 2014-01-22 16:13:55 · 4868 阅读 · 0 评论 -
字符串转换函数的使用 WideCharToMultiByte和MultiByteToWideChar函数的用法
为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《Windows核心编程》,总结出正确的用法。WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。常用的代码页由CP_ACP和C原创 2014-01-22 10:43:59 · 1208 阅读 · 0 评论 -
PreSubclassWindow函数的执行流程分析
PreSubclassWindowPreSubclassWindow是一个很好的定制控件的位置。如果我们通过重载CWnd::PreCreateWindow定制控件,而用户在对话框中使用控件。由于对话框中的控件窗口是通过CreateDlgIndirect创建,不经过CWnd::CreateEx函数,PreCreateWindow函数不会被调用。其实,用户要在对话框中使用定制控件,必须用D原创 2014-01-21 19:16:40 · 905 阅读 · 0 评论 -
MFC中实现单个控件接收拖拽文件的功能
现在有很多软件都支持拖拽功能,就是用鼠标拖着文件放到软件窗口中某个位置,软件就可以做出相应的反应。比如,Windows自带的播放软件Windows Media Player,你可以拖着一个媒体文件放到它的主窗口中,它就会开始播放这个文件。怎么让自己的软件也有这个功能呢?其实,并不是很难,只要让你需要有拖拽功能的控件响应WM_DROPFILES消息就行了。下面以Edit控件和ListBox控原创 2014-01-21 18:44:14 · 4562 阅读 · 0 评论 -
WM_VSCROLL和WM_HSCROLL 消息的使用
(1)当用户单击滚动条或者是拖动滑块时,Windows会向窗口过程发送WM_VSCROLL消息(垂直滚动时)或者是WM_HSCROLL消息(水平滚动时)。在滚动条上的任何鼠标动作会产生两条消息:一条是在鼠标键按下时,另一条是在鼠标键松开时。(2)和其他的消息一样,WM_VSCROLL和WM_HSCROLL消息也都伴随着wParam和lParam消息参数。当滚动条是窗口的一部分时可以忽略lP原创 2014-02-13 16:20:57 · 3835 阅读 · 0 评论