
MFC
tszhao
这个作者很懒,什么都没留下…
展开
-
CImageList使用指南 .
1.综述在MFC中CImageList类封装了图像列表控件的功能,图像列表是一个具有相同大小的图像(可以是不同类型)的集合,其主要用于应用程序中大规模图标的存储。该控件是不可见的,通常与其它如CListBox,CComboBox,CComboBoxEx,CTa转载 2011-07-06 12:36:08 · 209 阅读 · 0 评论 -
关于WM_NCLBUTTONUP使用
最近做一个项目,想要达到这样一种效果,就是拖动标题栏,然后,在释放鼠标左键抬起的时候,处理一些事情,查到了有WM_NCLBUTTONUP这个消息,试了一下,不行,要双击标题栏,才发送一个WM_NCLBUTTONUP消息,可以伪造一个WM_NCLBUTTONUP,但是,如果这样,就原创 2011-08-06 15:48:49 · 925 阅读 · 0 评论 -
弹出框无焦点显示
在2K/XP下我们可以用 AttachThreadInput 和SetForegroundWindow来有效的获取焦点。//捕捉并设置当前焦点窗口为我们的窗口 AttachThreadInput( GetWindowThreadProcessId( ::GetForegrou转载 2011-08-08 17:00:49 · 902 阅读 · 0 评论 -
简单内存泄漏检测方法 解决 Detected memory leaks!
最近在一个项目中,程序退出后都出现内存泄漏:Detected memory leaks!Dumping objects ->{98500} normal block at 0x05785AD0, 152 bytes long. Data: N x 7转载 2011-09-07 16:48:35 · 448 阅读 · 0 评论 -
WM_SETCURSOR 说明
在MFC中,对应该消息的响应函数是OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)这3个参数中,pWnd 对应的就是窗口句柄。nHitTest可以取以下值 HTCLIENT 等。具体的可以在IDE中打出HTCLI原创 2011-08-10 17:23:54 · 549 阅读 · 0 评论 -
超链接的CStatic实现
头文件// HyperLink.h : header file // // // HyperLink static control. Will open the default browser with the given URL // when the us原创 2011-08-17 16:12:45 · 544 阅读 · 0 评论 -
使对话框保持一个最小尺寸
对话框可以改变大小,但是,到一定程度后,不能再拖动对话框到更小的尺寸,只能拖动对话框到更大的尺寸。 方法:重载OnGetMinMaxInfo(MINMAXINFO* lpMMI)方法 lpMMI->ptMinTrackSize.x = 220; //设置最小原创 2011-09-16 14:51:20 · 287 阅读 · 0 评论 -
设置渐变颜色标题栏
设置界面的标题栏的渐变颜色,在OnPaint中调用如下函数即可 DrawCaption(CDC *pDC, const CString strCaption, const COLORREF clrCaption/* =RGB */){ CDC memdc; m原创 2011-09-23 11:08:43 · 1255 阅读 · 0 评论 -
关于WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解
参见:http://xjchilli.blog.163.com/blog/static/4534773920116309958275/转载 2011-10-11 11:05:02 · 680 阅读 · 0 评论 -
VC里打开网页
ShellExecute函数原型及参数含义如下: ShellExecute( HWND hwnd, //父窗口句柄 (如:NULL,Handle等)LPCSTR lpOperation, //操作类型 (如:"open")*要加英文双引号LPCSTR lpFile, //要进行操作的文件或路径 LPCSTR lpParameters, //当lpOperat转载 2012-01-07 22:12:15 · 1478 阅读 · 1 评论 -
在RichEdit控件中插入OLE对象(ActiveX控件)
有时候,我们需要在一个容器中插入各种不同的对象,比如,QQ聊天对话框里可以插入各种静态和动态的图片,甚至还可以插入flash文件,这些都是通过OLE技术来实现的。OLE技术是基于COM的,而COM又是非常复杂的东西,想要学习COM得花很多的时间,《COM技术内幕》,《COM原理和应用》,《INSIDE OLE 2》都是非常好的学习COM和OLE的书,但要把这些书啃完,弄懂,几个月甚至半年都过去了。转载 2012-01-07 21:58:07 · 389 阅读 · 0 评论 -
向RichEdit插入OLE控件的问题
第一次写OLE控件(MsgReplyCtrl),首先在stdafx.h头文件中引入tlb文件#import "MsgReply.tlb"像如下代码就会返回REGDB_E_CLASSNOTREG错误,大概应该是"组件没有注册或注册失败"的问题吧。MsgReplyLib::IMsgReplyCtrlPtr pMsgReply; HRESULT hr = pMsgReply.Creat原创 2012-01-12 13:53:19 · 371 阅读 · 0 评论 -
C/C++ 实现文件透明加解密
// 修复涉及后视列表的Win2K兼容性// Fixes Win2K compatibility regarding lookaside lists.//#ifndef _WIN2K_COMPAT_SLIST_USAGE // Add content(增加内容)#define _WIN2K_COMPAT_SLIST_USAGE #endif#include "ntifs.h"转载 2012-01-13 08:30:13 · 1421 阅读 · 1 评论 -
任务栏图标闪动
if (::GetForegroundWindow() != GetHWND()){FLASHWINFO fi = { 0 };fi.cbSize = sizeof (FLASHWINFO);fi.hwnd = GetHWND();fi.dwFlags = FLASHW_TRAY | FLASHW_TIMER;fi.uCount = 3;fi.dwTimeout = 3原创 2012-01-12 09:10:18 · 633 阅读 · 0 评论 -
VC&MFC比较好的开源项目
原文:http://www.codeproject.com/Articles/19218/Some-of-the-Best-Open-Source-Project-s-in-VC-MFC转载 2012-01-30 12:55:52 · 444 阅读 · 0 评论 -
Window下拖放操作Drag & Drop 全解析
一、基本概念拖放,是指用鼠标拖动的方法,在不同程序的窗口之间、同一个程序的不同窗口之间或同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖放操作是在操作系统的帮助下完成的。被拖动的对象首先向操作系统注册它使用的数据格式,并按指定的数据格式提供数据,拖放操作结束时,接收拖放的窗口按指定的数据格式提取有关数据,并根据提取的数据生成相应的对象。二、两种拖放方式拖放有两种类型转载 2012-04-19 18:13:49 · 887 阅读 · 0 评论 -
截取HDC图像内容的一部分
HBITMAP CXXXDialog::GetPartBitmap(HDC hSrcDC, LPRECT rect){ HBITMAP hBitmap, hOldBitmap; HDC hMemDC; int width, height; width = ab原创 2011-08-05 15:14:04 · 425 阅读 · 0 评论 -
在基于对话框的MFC程序中,使程序在任务栏中不显示图标
在app的initinstance里的主对话框domodal之前生成一个隐藏的对话框BOOL CTestDlgApp::InitInstance(){...CFrameWnd a; //生成一个框架窗口对象a.C转载 2011-08-04 09:11:20 · 1446 阅读 · 0 评论 -
mfc中CImageList的使用简介
图像列表控制(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用WINDOWS32位应用程序接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图转载 2011-07-06 12:37:23 · 172 阅读 · 0 评论 -
窗口前端和取消前端的设置
使用SetWindowPos函数:1.前端显示,设置第一个参数为&wndTopMost。2.取消前端显示,设置第一个参数为&wndNoTopMost原创 2011-07-11 12:29:32 · 316 阅读 · 0 评论 -
发送最小化消息
SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0);原创 2011-07-11 17:30:37 · 199 阅读 · 0 评论 -
函数PlaySound和sndPlaySound的用法
一.PlaySound函数的声明为:BOOL PlaySound(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound);1.参数pszSound:是指定了要播放声音的字符串,该参数可以是WAVE文件的名字,或是WAVE资源的名字,或是内存中声音转载 2011-07-13 15:16:08 · 404 阅读 · 0 评论 -
透明画刷和透明背景
HBRUSH CMsgHintDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ //HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO:原创 2011-07-14 13:47:18 · 357 阅读 · 0 评论 -
得到任务栏的高度
1.HWND hWnd = FindWindow( "Shell_TrayWnd ", NULL); RECT rc; ::GetWindowRect(hWnd, &rc); 2.如果要得到工作区的大小,使用SystemParametersInfo这个A原创 2011-07-14 14:40:18 · 180 阅读 · 0 评论 -
选择文件路径对话框被覆盖的问题
由于在有些时候,我们会将对话框置顶,也就是在SetWindowPos的时候用&wndTopMost标识,但是,这时,如果在对话框上有一个选择文件路径的按钮存在,那么,在点击此按钮的时候,弹出的选择路径对话框会被置顶的对话框隐藏,这个时候,就会造成不必要的麻烦。原创 2011-07-15 10:44:02 · 457 阅读 · 0 评论 -
CRebar详解
需求:1.在工具栏中添加出按钮以外的控件;2.当工具栏的宽度小于按钮宽度总和时,隐藏部分按钮,并在工具栏的最右侧显示向右的箭头,当点击这个箭头时,弹出一个菜单,菜单由没有显示出来的按钮组成;3.工具栏按钮显示tip。 实现:MFC提供了一个类CReBar,这是一个容器类,可以向这转载 2011-07-23 10:24:56 · 397 阅读 · 0 评论 -
直接通过ODBC读写Excel表格文件
想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行: 1. 在StdAfx.h文件中加入: #include #include转载 2011-07-25 13:05:23 · 83 阅读 · 0 评论 -
导出CListCtrl控件到Excel文件
CListCtrl获得列的属性可以使用BOOL CListCtrl::GetColumn( int nCol, LVCOLUMN* pColumn ),nCol为需要获得获得属性值的列序号,pColumn 为 LVCOLUMN 结构体的指针。LVCOLUMN结构体中的 UINT转载 2011-07-25 13:06:36 · 100 阅读 · 0 评论 -
VC 导出数据到Excel
前言 由于种种需要直接进行读取Excel文件数据,然而在网上Search多次也没有找到好的方法,一般就通过ODBC或OLE方式进行读取,但这两种方法都具有局限性...(我相信大家都很清楚)。怎么办呢?没办法了,只好选择最艰难的路了--分析Excel文件格式。介绍 MS Exc转载 2011-07-25 13:04:07 · 268 阅读 · 0 评论 -
添加toolbar等控件后,对窗口的重新布局
如果在对话框里添加了CToolBar或者CStatusBar等控件,那么原来的UI会受到影响,可以编写函数重新对窗口布局。如下: void CMsgManagementDialog::AdjustWindow(CDialog *pParent){ ASSERT(pPare原创 2011-07-25 16:27:12 · 335 阅读 · 0 评论 -
VC编程制作系统托盘程序
Windows操作系统中的某些程序运行时不显示运行窗口,只在任务栏上显示一个图标,表示程序正在运行,用户可以通过鼠标与应用程序交互,比如金山毒霸等应用程序,我们有时也需要编制一些仅在后台运行的类似程序,为了不干扰前台程序的运行界面和不显示不必要的窗口,应使程序运行时的主窗口不可见转载 2011-07-15 17:17:48 · 180 阅读 · 0 评论 -
气球提示
1. http://msdn.microsoft.com/zh-cn/magazine/cc188923(en-us).aspx 2. http://www.vckbase.com/document/listdoc.asp?sclsid=13133. http://www.vck原创 2011-07-14 10:39:04 · 191 阅读 · 0 评论 -
CToolBar的使用介绍
CToolBar控件是MFC提供的一个类,实现了一般窗口应用中的工具条。通常用于SDI或者MDI程序中,对话框程序中通常不使用工具条。一、代码中的工具条工具条是一个CToolBar类对象,通常作为成员对象嵌入程序的CMainFrame类中,也就是说嵌入主框架窗口中。因此,MFC生转载 2011-07-18 10:24:01 · 456 阅读 · 0 评论 -
C++ 与 JS 交互编程
http://www.codeproject.com/Articles/4805/Advanced-customization-of-WebBrowser-Control-in-Dihttp://www.codeproject.com/Articles/2352/JavaScript-call-from-Chttp://www.vckbase.com/index.php/wv/1204原创 2012-06-19 15:27:22 · 698 阅读 · 0 评论