MFC
LittleBearLi
在读硕士研究生,图像处理,本科专业机械工程,半路出家的程序员,努力学习编程中。。。
展开
-
理解回调函数
来自维基百科的定义:在计算机程序设计中,回调函数,或简称回调(Callback 即call then back 被主函数调用运算后会返回主函数),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。知乎用户“常溪玲”的回答太形象:你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打原创 2015-01-05 16:01:02 · 1437 阅读 · 0 评论 -
CMFCTOOLBAR添加组合框
转载自:VC2008在CMFCToolBar工具栏中加入组合框如何在CMFCToolBar工具栏中加入组合框等控件,且先看在线MSDN上怎么说的:To add a combo box button to a toolbar, follow these steps:1. Reserve a dummy resource ID for the button in转载 2014-05-08 17:15:52 · 1092 阅读 · 0 评论 -
Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #defi
把use of mfc改为Use MFC in a Shared DLL就可以了原创 2014-04-25 12:03:47 · 641 阅读 · 0 评论 -
最近打开文件列表
afx_msg BOOL OnOpenRecentFile(UINT nID);消息映射:ON_UPDATE_COMMAND_UI(ID_FILE_MRU_FILE1, OnUpdateRecentFileMenu)ON_COMMAND_EX_RANGE(ID_FILE_MRU_FILE1, ID_FILE_MRU_FILE16, OnOpenRecentFile)原创 2014-05-08 14:30:58 · 2380 阅读 · 0 评论 -
解决头文件相互包含问题的方法
转载自:http://blog.csdn.net/yang_lang/article/details/6767439所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数。 一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况下,这种要求无法满足,例如,在类CMyView中保留了一个非模式对话框对象指针,该对象用于显示/修改一些信息。为了实现对话框转载 2014-05-08 13:18:46 · 1180 阅读 · 0 评论 -
获得视窗边框宽度
CRect rect (0, 0, 352, 352);rect.bottom=rect.bottom+::GetSystemMetrics (SM_CYMENU)+::GetSystemMetrics(SM_CYEDGE)*2;rect.right=rect.right+::GetSystemMetrics(SM_CXEDGE)*2;CalcWindowRect (&rect)原创 2014-04-21 16:57:14 · 879 阅读 · 0 评论 -
vector
以前在VC6中调用:vector arrData;arrData.erase(&arrData[x]);就可以删除这个元素,而VC2005中这样不可以,请问怎么快速删除之? arrData.erase(arrData.begin() + x)原创 2014-04-18 16:37:52 · 439 阅读 · 0 评论 -
再理解Windows程序内部运行机制
再理解Windows程序内部运行机制原创 2014-05-16 17:40:00 · 848 阅读 · 0 评论 -
打包DLL和exe
http://stackoverflow.com/questions/9808467/embed-dll-in-mfc-c-exe原创 2014-05-15 15:13:20 · 421 阅读 · 0 评论 -
MFC 多线程及线程同步
http://www.cnblogs.com/UnGeek/p/3525315.html转载 2014-04-11 15:18:04 · 351 阅读 · 0 评论 -
窗口、视口、屏幕显示详解--计算机绘图基本功
原博地址:http://blog.csdn.net/lishuhuakai/article/details/18462045转载 2014-09-23 09:40:25 · 1142 阅读 · 0 评论 -
逻辑坐标和设备坐标的区别
转自:http://blog.csdn.net/lishuhuakai/article/details/18362349转载 2014-09-23 09:34:41 · 966 阅读 · 0 评论 -
Windows字体
LOGFONT: 一个结构,用来逻辑上表达一个字体,比如LOGFONT.lfFaceName是字体的名字 HFONT: 一个句柄,相当于表示内存中的一个字体对象,它可以马上拿来用 CFont: 是mfc对于HFONT的一种封装原创 2014-08-06 11:07:23 · 412 阅读 · 0 评论 -
视图窗口切换时的响应函数
视图窗口切换时,会触发子框架WM_MDIACTIVATE消息。原创 2014-06-19 14:20:46 · 737 阅读 · 0 评论 -
改变对话框背景色
重载OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor),即WM_CTLCOLOR消息。 ---- ①在CExampleDlgDlg的头文件中,添加一CBrush的成员变量: class CExampleDlgDlg : public CDialog {... protected: CBrush m_brush; .原创 2014-06-07 16:09:57 · 873 阅读 · 0 评论 -
VS2010+openGL配置
1. 下载GLUT。Windows环境下的GLUT下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 2. 将下载的压缩包解开,将得到5个文件:glut.h glut.lib glut32.lib glut.dll glut32.dll 3. 将glut.h放到(C:\Program Fi原创 2014-06-23 21:27:51 · 514 阅读 · 0 评论 -
非模态对话框
1、 在资源里新建对话框2、 class wizard 新建相应的对话框类,继承于CDialog类3、 在相应的响应函数中添加如下代码(别忘记包含类的头文件):CXXXDialog XXX;XXX.DoModal();4、Note: MFC菜单需要注意的是,菜单有两个,一个是空框架下的,一个是有文档下的,因此要注意响应函数函数的位置,比如,如果响应原创 2013-11-22 12:48:08 · 1080 阅读 · 0 评论 -
深入浅出 MFC多视图
百度的链接总是加不上?为了能够把我们所学的所有知识都在实例中得以完整的体现,我们来写一个尽可能复杂的"文档/视图"架构MFC程序,这个程序复杂到: (1)是一个多文档/视图架构MFC程序; (2)支持多种文件格式(假设支持扩展名为BMP的位图和TXT的文本文件); (3)一个文档(BMP格式)对应多个不同类型的视图(图形和二进制数据)。 相信转载 2014-05-17 12:15:05 · 598 阅读 · 0 评论 -
设备无关位图
直接显示时,按如下写入:(不将BMPFILEHEADER写入)m_hDIB=(HDIB)::GlobalAlloc(GHND, sizeof(BITMAPINFOHEADER)+ 1024+bmpinfohead.biSizeImage);LPSTR lpDIB = (LPSTR) ::GlobalLock(m_hDIB);memcpy(lpDIB,&bmpinfohead,s原创 2014-03-20 19:05:22 · 708 阅读 · 0 评论 -
Invalidate()
视类函数,加视类指针或在视类里面用才会触发重绘试图操作。原创 2014-03-07 20:40:13 · 945 阅读 · 0 评论 -
文档类获取视类指针
CWinApp* imaapp=AfxGetApp();CMainFrame* pframe=(CMainFrame*)imaapp->m_pMainWnd;CImageView* pView=(CImageView*)pframe->GetActiveView();原创 2013-12-24 23:04:35 · 497 阅读 · 0 评论 -
AfxBeginThread
有两种类型用户界面线程工作线程原创 2013-12-24 20:45:59 · 711 阅读 · 0 评论 -
demo制作
读取BMP文件的demo制作:1、 所需文件:dibapi.h dibapi.cpp myfile.cpp2、工程类型选择多文档,MFC standard,其他默认3、取消打开软件的默认空白标签页 项目.cpp——》在ProcessShellCom原创 2013-11-19 18:38:55 · 1080 阅读 · 0 评论 -
软件发布(VS2010)
solution,右键解决方案(最上面一行),Add->New project,然后选择Other Project Types->Setup and Deployment->Visual studio Installer->选择Setup Project. 右键setup1->View->文件系统。 然后在应用程序文件夹上右击选择添加文件,可以添加程序所需的外部资源,如图原创 2013-11-20 20:36:33 · 689 阅读 · 0 评论 -
Matlab&VC++混合编程初探
编写matlab函数% file name: add.mfunction add(x)% UNTITLED Summary of this function goes here% Detailed explanation goes heret=0:0.001:x;y=sin(2*pi*50*t);plot(t,y);end 做成dll原创 2014-01-12 20:09:51 · 703 阅读 · 0 评论 -
加断点能通过,不加断点出错
加断点能通过,不加断点出错的问题程序中存在线程函数,线程函数中的引用变量为当前文件头文件声明的全局变量,会出问题。将变量声明在app类中可解决这一问题。原创 2014-02-22 09:25:30 · 1704 阅读 · 0 评论 -
64位版本编译遇到的问题
错误定位到ON_WM_TIMER()这里不用改。改OnTimer(UINT_PTR nIDEvent)函数的定义和声明参数类型:64位版本用UINT_PTR,32位版本用UINT原创 2014-02-27 13:59:46 · 517 阅读 · 0 评论 -
看
转自:http://www.cnblogs.com/daqiang/articles/2291527.html下面内容在原文基础上修改了部分格式,便于观看。★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★//这一页的代码最重要了,呵呵……什么都在这里面呢; 单文档新建:CWinApp_________docManager转载 2014-03-07 19:35:46 · 496 阅读 · 0 评论 -
对话框包含视类头文件出错
error C2143: syntax error : missing ';' before '*'error C2501: 'CISearchDoc' : missing storage-class or type specifierserror C2501: 'GetDocument' : missing storage-class or type specifiers原创 2014-03-06 20:04:37 · 511 阅读 · 0 评论 -
CDockablePane使用及实例
http://blog.csdn.net/xianzongtanxun/article/details/7941064转载 2014-03-06 14:44:50 · 887 阅读 · 0 评论 -
取消下拉菜单折叠
找到CMainFrame::OnCreate函数把CMFCToolBar::SetBasicCommands(lstBasicCommands);注释掉原创 2014-02-20 16:27:31 · 688 阅读 · 0 评论 -
定制打开文件对话框
真是神坑,困扰了一整天的东西竟然几句话就可以解决。还是因为xp与win7的运行环境有关。以下:原创 2014-03-01 17:43:19 · 687 阅读 · 0 评论 -
想要主框架与子框架的菜单项有相同的响应函数
想要主框架与子框架的菜单项有相同的响应函数在主框架添加菜单项,响应函数放在应用程序类中。子框架添加相同ID即可。原创 2014-02-28 14:01:21 · 510 阅读 · 0 评论 -
添加启动画面
从今天起每天学一个MFC功能,2013、11、4在VC6.0时代,我们通过在MFC工程中插入Splash组件来简单方便的实现这个功能,但在VS2008以后就没有了这个功能,所以如果想给自己的程序添加一个显示Logo的启动画面,就需要自己添加代码来实现,参考了下VC6.0中这个Splash组件添加后的代码,就很容易在自己的项目里实现这个功能。如下图。 首先,在菜单的“转载 2013-11-04 22:43:40 · 882 阅读 · 0 评论 -
文件夹不存在则创建
注意只能一级一级地操作,不能一次重建两层路径。CString strFilePath = _T("C:\\a\\");//文件路径if(!PathFileExists(strFilePath))//文件夹不存在则创建{CreateDirectory(strFilePath,NULL);}strFilePath = _T("C:\\a\\aa\\");原创 2014-02-27 21:04:26 · 2486 阅读 · 0 评论 -
MFC多文档
VS20101选择类型为 MFC standard2 绘图在Ondraw 函数中原创 2013-11-15 10:00:19 · 1434 阅读 · 0 评论