
Window函数学习
文章平均质量分 72
CreatedSign
这个作者很懒,什么都没留下…
展开
-
如何判断窗口是在最小化或者最大化的状态
这个问题用下面两个函数就可以搞定了,哈哈,很简单的。1、IsZoomed函数:确定窗口是否是最大化的窗口。 函数原型:BOOL IsZoomed(HWND hWnd); 参数: hWnd:待判断窗口的句柄。 返回值:如果窗口已最大化,则返回值为非零;如果窗口未最大化,则返回值为零。 2、IsIconic函数:确定给定窗口是否是最小化(转载 2013-12-20 14:58:28 · 1293 阅读 · 0 评论 -
VC++操作Excel在VS2008编码实例
这里是关于VC2008操作OFFICE2007的实例编码,代码直接可以,调试通过。如有不正确之处,请指正。原创 2014-01-27 17:10:44 · 2583 阅读 · 0 评论 -
VC++ API 如何获取文件夹路径
这里介绍一个API来获取文件夹得路径:char szSelected[MAX_PATH];//用来存放文件夹路径 BROWSEINFO bi; LPITEMIDLIST pidl; bi.hwndOwner = this->m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = szSelected原创 2014-01-28 11:47:12 · 1476 阅读 · 0 评论 -
WM_NCHITTEST 消息使用解说
移动一个无标题栏的窗体时,要使用WM_NCHITTEST消息,这个消息使用情况大概如下:通常,我们拖动对话框窗口的标题栏来移动窗口,但有时候,我们想通过鼠标在客户区上拖动来移动窗口。一个容易想到的方案是,处理鼠标消息WM_LBUTTONDOWN和WM_LBUTTONUP。在OnLButtonUp函数中计算鼠标位置的变化,调用MoveWindow实现窗口的移动。注意,拖动标题原创 2014-02-07 12:29:09 · 2785 阅读 · 0 评论 -
MFC 中实现在客户区拖动来拖动窗口的方法总结
VC++实现无标题栏对话框的拖动 其实说白了就是欺骗,欺骗谁了?呵呵,当然是欺骗windows,本来是移动标题栏可以拖动窗体,那么我们现在是拖动客户区来移动,当我们拖动标题栏的时候windows产生一个WM_NCHITTEST消息,这个消息确定鼠标点击的哪个位置,这个消息返回一个值,从而确定是“客户区”还是“非客户区”,当返回的值是HTCAPTION,说明这时拖动的是标题栏 那么我们现在就来原创 2014-02-07 14:35:30 · 5634 阅读 · 0 评论 -
如何判断窗口是最大化状态 还是 最小化状态 的API函数
MFC中的CWnd类提供了下面两个函数用于判断窗口的最大化、最小化状态,其子类继承了这些函数:IsZoomed:判断窗口是否处于最大化状态。IsIconic:判断窗口是否处于最小化状态。可以使用CWnd::ShowWindow函数设置窗口的显示状态,其函数原型如下:BOOL CWnd::ShowWindow( int nCmdShow );其中nCmdSho原创 2014-02-07 15:45:09 · 8226 阅读 · 0 评论 -
MFC 消息之WM_CTLCOLOR和OnCtlColor消息的使用方法总结
很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等, 其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色,其用法如下:1.首先在自己需要设置界面的对话框上点击原创 2014-02-08 13:43:49 · 14639 阅读 · 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 评论 -
SetLayeredWindowAttributes 函数的使用方法,对话框透明的方法
这片文章来介绍一下使对话框透明的方法,使用下面的API函数,当然MFC中的CWnd类中也有该函数的(注意:我用的环境为VS2008,可以直接使用该函数,VC6.0不同的使用方法不同,网上有介绍):函数的原型为BOOL SetLayeredWindowAttributes(HWND hwnd, // handle to the layered windowCOLORR原创 2014-02-10 17:06:54 · 8192 阅读 · 0 评论 -
CListCtrl 空间删除选中行的方法
方法一: 单选的情况下GetNextItem(-1,LVIS_SELECTED); 方法二:单选的情况下不知道你的CListCtrl是否允许多选,如果只允许单选,你只需要调用成员函数GetSelectionMark()就可以获取选中的行号,然后你再调用GetItemText()就可以获取选中行的文本。方法三: 可以多选的情况下 CString str;原创 2014-02-14 00:17:07 · 2242 阅读 · 0 评论 -
VC++ 中操作Excel文档的方法,读取,查询,写入,修改,删除
这里是在VC++中操作EXCEL文档的一个例子,可以对EXCEL文档进行读写,查询,修改等操作原创 2014-01-27 11:44:38 · 5256 阅读 · 2 评论 -
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 评论 -
如何判断窗口是在最小化或者最大化的状态
这个问题用下面两个函数就可以搞定了,哈哈,很简单的。1、IsZoomed函数:确定窗口是否是最大化的窗口。 函数原型:BOOL IsZoomed(HWND hWnd); 参数: hWnd:待判断窗口的句柄。 返回值:如果窗口已最大化,则返回值为非零;如果窗口未最大化,则返回值为零。 2、IsIconic函数:确定给定窗口是否是最小化(转载 2013-12-20 15:23:49 · 1871 阅读 · 0 评论 -
如何判断窗口是在最小化或者最大化的状态
这个问题用下面两个函数就可以搞定了,哈哈,很简单的。1、IsZoomed函数:确定窗口是否是最大化的窗口。 函数原型:BOOL IsZoomed(HWND hWnd); 参数: hWnd:待判断窗口的句柄。 返回值:如果窗口已最大化,则返回值为非零;如果窗口未最大化,则返回值为零。 2、IsIconic函数:确定给定窗口是否是最小化(转载 2013-12-20 14:58:25 · 1858 阅读 · 0 评论 -
如何判断窗口是在最小化或者最大化的状态
这个问题用下面两个函数就可以搞定了,哈哈,很简单的。1、IsZoomed函数:确定窗口是否是最大化的窗口。 函数原型:BOOL IsZoomed(HWND hWnd); 参数: hWnd:待判断窗口的句柄。 返回值:如果窗口已最大化,则返回值为非零;如果窗口未最大化,则返回值为零。 2、IsIconic函数:确定给定窗口是否是最小化(转载 2013-12-20 14:58:40 · 2041 阅读 · 0 评论 -
ShellExecute 函数的使用方法总结
ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。一、基本简介有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。二、原型参数注意事项:使用该函数时,需添加该头文件:#include ShellExecute函数原型及参数含原创 2013-12-23 13:39:38 · 1603 阅读 · 0 评论 -
MFC中实现单个控件接收拖拽文件的功能
现在有很多软件都支持拖拽功能,就是用鼠标拖着文件放到软件窗口中某个位置,软件就可以做出相应的反应。比如,Windows自带的播放软件Windows Media Player,你可以拖着一个媒体文件放到它的主窗口中,它就会开始播放这个文件。怎么让自己的软件也有这个功能呢?其实,并不是很难,只要让你需要有拖拽功能的控件响应WM_DROPFILES消息就行了。下面以Edit控件和ListBox控原创 2014-01-21 18:44:14 · 4562 阅读 · 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 评论 -
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 评论 -
Bitmap位图文件读取、保存、屏幕截图
虽然现在网上已经有很多位图读取、保存的文章,很多写的都很详细,提供的源代码功能也很强大,但是我仍然要自己重写一个位图加载程序。主要是因为这些大牛们的文章写的太深奥了,代码功能太强大了,以至于像我这样的菜鸟读不懂。所以,我要力求简洁。省略掉一些细节,比方说调色板。为了能够方便容易操作,我的程序只支持24位以上的位图文件加载。 首先,了解下位图文件的结构。2转载 2014-01-23 10:25:26 · 1308 阅读 · 0 评论 -
GetTextExtentPoint32 函数的使用
函数功能:该函数计算指定的正文字符串的高度和宽度。函数原型:BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize);参数:hdc:设备环境句柄。lpString:指向正文字符串的指针。此字符串不必以\0结束,因为cbString指定了字符串的长度。cb原创 2014-01-24 09:27:59 · 7652 阅读 · 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 评论