
MFC
zhoxier
这个作者很懒,什么都没留下…
展开
-
[CToolTipCtrl]悬停工具提示条信息
转自:http://blog.youkuaiyun.com/priest18/article/details/4511014public: CToolTipCtrl* m_ptip; CtoolView::~CtoolView() { delete m_ptip; m_ptip = NULL; }转载 2012-07-07 15:59:21 · 931 阅读 · 0 评论 -
MFC静态文本框透明
HBRUSH CMyUIDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if( CTLCOLOR_STATIC == nCtlColor )转载 2013-01-18 10:24:52 · 3373 阅读 · 0 评论 -
MFC托盘显示
#define WM_NOTIFYICON WM_USER + 5#define IDI_ICON 0x0005 fx_msg LRESULT OnNotifyIcon(WPARAM wParam,LPARAM lParam); NOTIFYICONDATA nd;nd.cbSize = sizeof (NOTIFYICONDATA);nd.hWnd =原创 2013-01-18 08:46:06 · 1165 阅读 · 0 评论 -
给对话框添加状态栏
1、在资源视图下的String Table中打开String Table,在其中添加 IDS_INDICATOR_NISH和IDS_INDICATOR_TIME2、 声明:CStatusBar m_bar; static UINT BASED_CODE indicators[]= { IDS_INDICATOR_原创 2013-01-19 09:03:19 · 886 阅读 · 0 评论 -
MFC 设置开机自启动
在MFC 中设置开机自启1)需要知道的基础:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run是控制计算机启动项的注册表信息, 如果要找到它在何处的话:可以`点屏幕左下角(开始)→(运行)→输入(regedit)→这个时候你会看见注册表弹出来了,点选(HKEY_LOCAL_MACHINE)→(SOFTWARE)→(Microsoft)→原创 2012-09-08 15:10:16 · 7016 阅读 · 2 评论 -
对话框部分的收缩和扩展
1、在OnInitDialog中设置: CRect rectLarge;CRect rectSmall;CRect rectSeparate; GetWindowRect(&rectLarge);GetDlgItem(IDC_SEPARATE)->GetWindowRect(&rectSeparate);rectSmall.top = rectLarge.t原创 2013-01-19 20:10:47 · 696 阅读 · 0 评论 -
对话框中
CxxxDlg *dlg = (CxxxDlg*)theApp.m_pMainWnd;原创 2013-01-21 14:58:00 · 519 阅读 · 0 评论 -
MFC 进程监控
1、获得电脑中所有运行的进程: #include "TLHELP32.H" HANDLE Snapshot;Snapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);PROCESSENTRY32 processListStr;processListStr.dwSize=sizeof(PROCESSENTR原创 2013-01-22 15:05:28 · 3749 阅读 · 0 评论 -
CMap使用
转自:http://chenuaizhang2008.blog.163.com/blog/static/727635720114111816307/如何声明CMap许多人对Cmap的声明模式CMap感到迷惑,为什么不用CMap呢?实际上,CMap中的的数据最终会是CPair,而CPair内部是(KEY,VALUE)。因此,CMap其实存储的是KEY,而非ARG_KEY。然而转载 2013-01-22 20:12:09 · 892 阅读 · 0 评论 -
只有一个实例运行
HANDLE hMutex=::CreateMutex(NULL,TRUE,_T("FirstName"));//FirstName可以随便取一个唯一的名字 if (hMutex!=NULL) { if (GetLastError()==ERROR_ALREADY_EXISTS) { AfxMessageBox(_T("已经有一个程序运行."));转载 2013-01-21 15:23:27 · 600 阅读 · 0 评论 -
实现对话框在位图作为背景时的控件透明
转自:http://blog.youkuaiyun.com/zgl7903/article/details/5902879 [cpp] view plaincopy///////////////// TransparentDlg.h #pragma once //////////////////////////转载 2013-01-21 22:00:05 · 776 阅读 · 0 评论 -
CMFCToolBar 添加下拉列表框
1、经过一个下午的各种纠结和不放弃,最终还是捣鼓出来了这个东西,记录下来,以备查看。在网上查到了两种方法呢,然后自己试验了下,在vs2010下都可以正确运行。第一种方法:是来自于 这里:http://blog.sina.com.cn/s/blog_6b5a0745010108tt.html但是看了这个,很久也弄不出来,还是具体来写一下了: CMFCToolBar m_原创 2013-01-25 20:54:04 · 3000 阅读 · 0 评论 -
VC中创建不可改变大小的窗口
1.创建一个最大化的窗口,并且不能改变其大小那么首先, app的InitInstance中 在原来pMainFrame->ShowWindow(m_nCmdShow); 的前面加上 DWORD dwStyle = GetWindowLongm_pMainWnd->m_hWnd, GWL_转载 2013-02-20 11:21:36 · 763 阅读 · 0 评论 -
多文档DOC/VIEW框架不创建新文档
转自:http://www.cppblog.com/totti1006/archive/2007/11/08/36115.html在文档窗口创建的时候 ,它缺省总是会新建一个新文档 , 那么怎么让它不新建文档呢?就这个问题 , 我对文档视图窗口应用程序启动时的文档创建机制 , 稍稍的浅浅挖了一下 , 做了一个详细的分析 , 希望能够对初学者有所帮助 .在App文件的InitInst转载 2013-02-27 16:25:24 · 993 阅读 · 0 评论 -
无法解析的外部符号
转自:http://blog.youkuaiyun.com/enotswn/article/details/5934938在使用vs2008调试程序的过程中,经常会出现无法解析的外部符号问题,可能的原因有很多种,下面这些是我一年来积累的经验.仅供参考.考虑可能的原因:[0]出现无法解析可能是因为lib文件不正确,比如64位的编译配置,结果使用的是32位的lib包.[转载 2013-02-27 22:30:27 · 130393 阅读 · 10 评论 -
MFC中设置对话框颜色、添加背景图片、添加音乐的方法
转自:http://mapdll.blog.51cto.com/1051271/329175一、设置背景颜色的三种方法:1、我们知道程序在运行的时候会调用OnPain函数,那么我们可以在这里设置背景颜色。void CFlipCardsDlg::OnPaint() {if (IsIconic()) {//保持不变 } else { CRect转载 2013-01-18 10:24:13 · 1193 阅读 · 0 评论 -
vs201中添加splashScreen
作者信息:罗树鹏 http://www.cnblogs.com/luoshupeng由于笔者在实践过程中走了一些弯路,所以把这些情况记录下来,希望为后来者提供一些经验。在VC6.0时代,可以通过组件为工程加入SplashScreen,具体方法是通过IDE中的菜单Project->Add to Project->Componentsand Controls,就可以从Visual C++ C转载 2012-11-21 10:14:15 · 3479 阅读 · 0 评论 -
workthread 和 UIthread
一、线程产生篇:它们都需要呼叫AfxBeginThread 以产生一个 CWinThread 对象,并在创建对象的时候定义其消息响应函数,下面代码是work thread所呼叫的AfxBeginThread函数:CWinThread* pThread = AfxBeginThread(ThreadFunc, &Param);函数原型是:CWinThread* AFXAPI AfxB转载 2012-11-20 10:45:12 · 834 阅读 · 0 评论 -
CMFCToolBar 自己加载图片
在前面转载了一篇文章,自己在具体实现过程还是有一定出入的,因此在这里记下自己的实现:(可能写的太粗)使用了整个合成的bmp图片1)创建一个toolBar2)插入一个bmp位图 (合成图片)3)代码实现if (!m_myToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIP原创 2012-06-28 15:01:50 · 4341 阅读 · 1 评论 -
MFC中如何创建固定大小的窗口
转自:http://blog.163.com/fk1007@126/blog/static/30036739200921984625121/ 创建固定大小的窗口:方法一:在your_project_name.cpp中,m_pMainWnd->ShowWindow(SW_SHOW)之前加入下面的语句:::转载 2012-06-27 15:03:58 · 4776 阅读 · 0 评论 -
MFC listBox 实现右键单击事件
转自:http://blog.youkuaiyun.com/a466804006/article/details/6907791恩 ,大家好。我用的是VS2010,不会用优快云的插入图片的方法,大家表喷我。这几天在搞MFC,因为客户要求(TMD)所以只好搞一个右键菜单。这个在网上确实有许多的版本,但是大多语焉不详,所以今天我特地把这个详细的步骤写出来,希望大家作为参考。创建右键菜单一共分三步。转载 2012-07-02 18:48:41 · 11406 阅读 · 0 评论 -
MFC 控件大小随窗体改变而改变大小
一个基于对话框的MFC界面,怎么样才能让对话框里的控件能和对话框同比例变小变大?今天我一直想解决这个问题,这是师姐留给我的任务。经过在网上的大量搜素,终于找到了解决方法,其实比较简单。 一般情况下,我们新建的对话框,里面的“确定”和:取消”按钮,在对话框最大化得时候,不会一起变大的,而是保持原来的大小。 最简单的情况: 当我们点击最大化按钮的时候,对话框会最大化转载 2012-07-23 16:59:04 · 20607 阅读 · 0 评论 -
VS2010中如何更改项目名称
转载:http://hi.baidu.com/iaskall/item/dcde124bc6b1180fc11613c5我们常常在建立项目的时候就必须输入一个项目名称,有的时候我们就随意的起了一个名称,可是到后面想到了一个更好的项目名我们就想把项目名称改过来,但VS并不那么智能,我们不能简单的将项目对应的解决方案SLN文件名改过来,或是将csproj的名称改过来就行。我就曾这么天真的这么做过,转载 2012-07-26 17:42:08 · 9087 阅读 · 2 评论 -
Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~
转自:http://www.byywee.com/page/M0/S530/530822.html昨天编译文件时出现了Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~的错误。 在网上很容易找到了解决的方案,公布如下: 对着你的项目点击右键,依转载 2012-08-31 16:29:35 · 63805 阅读 · 6 评论 -
MFC宏定义 ON_WM_PAINT DECLARE_MESSAGE_MAP
转载自:http://www.cppblog.com/citywanderer/articles/8660.htmlhttp://www.cppblog.com/citywanderer/articles/8660.html一、关于DECLARE_MESSAGE_MAP宏定义使用MFC向导,在ApplicationType页面选择DialogBased,生成一个对话框项目,Dialog类命转载 2012-09-01 16:14:42 · 4641 阅读 · 0 评论 -
vS2010中标记菜单
在vs2010 中标记菜单:1) 使用OnUpdateTestAbc(CCmdUI *pCmdUI)消息相应即可完成void CMainFrame::OnUpdateTestAbc(CCmdUI *pCmdUI){ pCmdUI->SetCheck(TRUE);}2)今天发现在vs2010中使用GetMenu()标记菜单时,出现了错误,在CMainFrame::O原创 2012-09-03 16:48:33 · 3122 阅读 · 2 评论 -
VC 窗口销毁
转自:http://blog.youkuaiyun.com/oldmtn/article/details/6904697基础知识很重要,Win32中的窗口句柄和MFC窗口类对象的2个概念。前者被后者包装了起来。先看下MSDN中的TN017中的文章In the case of C++ Windows objects that do perform auto-cleanup, you转载 2012-09-04 10:07:03 · 2541 阅读 · 0 评论 -
MFC基于Dialog的窗口程序启动时最小化到托盘
一、托盘是什么所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区。二、NOTIFYICODDATA结构和Shell_NotifyIcon函数1、NOTIFYICONDATA结构包含了系统用来处理托盘图标的信息,它包括选择的图标、回调消息、提示消息和图标对应的窗口等内转载 2012-08-27 14:52:31 · 1107 阅读 · 0 评论 -
让对话框程序捕获WM_KEYDOWN 消息
vc++ 孙鑫课本325页 在对话框程序中,我们经常是利用对话框上的子控件进行命令响应来处理一些事件。如果我们想要让对话框(子控件的父窗口)类来响应我们的按键消息,我们可以通过ClassWizard对WM_KEYDOWN消息进行响应,当程序运行后,我们按下键盘上的按键,但对话框不会有任何的反应。这是因为在对话框程序中,某些特定的消息,例如按键消息,它们被Windows内转载 2012-09-05 14:30:22 · 1989 阅读 · 0 评论 -
OnSysCommand 与PreTranslateMessage
OnSysCommand()这个函数主要是截获控制命令的,msdn上的解释如下: The framework calls this member function when the user selects a command from the Control menu, or when the user selects the Maximize or the Minimize butt转载 2012-09-07 18:19:48 · 1229 阅读 · 0 评论 -
VC下Debug和Release区别
VC下Debug和Release区别最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处,才发现原来是给定的一个数组未初始化,导致后面处理异常。网上查找了些资料,在这 罗列汇总下,做为备忘~一、Debug 和 Release 的区别 Debu转载 2012-10-31 08:54:29 · 499 阅读 · 0 评论 -
DECLARE_DYNAMIC 和 IMPLEMENT_DYNAMIC
IMPLEMENT_DYNAMIC是实现“运行时类型识别”宏,与之相对应的是DECLARE_DYNAMIC(声明“运行时类型识别”宏)。也就是说你在.CPP文件中如果看见有IMPLEMENT_DYNAMIC,则在.H文件中必定有DECLARE_DYNAMIC的声明。DECLARE_DYNAMIC/DEClARE_DYNAMIC是为了确定运行时对象属于哪一个类而定义的宏。 DEClARE转载 2012-11-04 17:05:15 · 977 阅读 · 0 评论 -
有关ActiveX控件ADODC和DataGrid在VC++下面的使用
转自:http://blog.youkuaiyun.com/xingtianxia710/article/details/7184990系统环境:Windows 7 + VC6.0 + VS2008当在VC++6.0中"Project"-->"Add to Project"-->"Componets and Controls"-->"Register ActiveX Controls", 找到转载 2013-03-01 10:54:45 · 1441 阅读 · 0 评论