![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
wche1990
这个作者很懒,什么都没留下…
展开
-
MFC中框架文档视图结构的命令路由处理
命令处理的默认路由是:视图 -> 文档 -> 文档模板 -> 框架窗口 -> 应用对象。补充说明:菜单、工具栏等隶属于框架窗口,所以命令首先到达框架窗口。框架窗口得到命令消息后,按照上述的过程处理命令。要想改变默认的命令处理过程,定制自己的处理过程,则需要重载上述命令路由链中的某个对象的OnCmdMsg()函数。例如:下面的代码重载框架窗口的OnCmdMsg()函数,使得活动文档直原创 2011-11-07 18:42:42 · 664 阅读 · 0 评论 -
框架窗口和文档、视图的交互(MFC)
框架窗口与文档的交互:a、框架窗口 -> 文档 的过程:1、通过视图。视图都由与之关联的文档,而框架窗口是视图的容器,理所当然,框架窗口和文档的交互可以以视图为桥梁。在框架窗口中可以通过GetActiveView()可以得到活动视图的指针pView,接着pView->GetDocument()便可以得到与之关联的文档指针pDoc。利用这个指针框架窗口便可以对文档进行相关的操作原创 2011-11-07 18:52:00 · 1608 阅读 · 0 评论 -
定制字体(以静态文本框的字体为例)
1、首先获得文本框窗口的指针:CWnd *pWnd = GetDlgItem(ID_Static_MY);2、获得DC资源:CDC *pDC = pWnd->GetDC();3、创建字体:CFont font;font.CreateFont(50, 0,0,0, FW_HEAVY, // 字体的粗度,此为最粗0,0,0,ANSI_CHARSET,原创 2011-11-07 18:54:32 · 780 阅读 · 0 评论 -
三种DLL(Win32DLL,MFC常规DLL和MFC拓展DLL)的简单学习总结
学习了三种动态链接库的基本知识,分别是Win32DLL,MFC常规DLL和MFC拓展DLL。 Win32DLL使用的是Win32的API实现的,只能导出函数,能被各种应用程序调用,适用范围最广。 MFC常规DLL是适用MFC创建的,就像MFC程序跟Win32程序的关系一样,MFC常规DLL和Win32DLL的关系也是如此。它使用MFC的机制,只能导出标准C函数。如此,它便可以被原创 2011-11-07 19:02:23 · 4581 阅读 · 1 评论 -
出现fatal error LNK1120: 1 unresolved externals的原因
在调用动态库时,出现 fatal error LNK1120: 1 unresolved externals的编译错误。原因有很多个,分两类。第一类是本工程的编译环境设置问题,另一类是库文件出问题。 第一类中,可能是在设置时没有设置对。参考网上的资料:在调用dll库的时候发现错误fatal error LNK1136: invalid or corrupt file原创 2011-11-07 19:04:49 · 142870 阅读 · 1 评论 -
在编辑框中动态显示当前时间,实现时钟功能
1、首先响应WM_TIMER事件,利用MFC ClassWizard添加WM_TIMER事件。2、然后在OnTimer()函数中添加处理代码,如下:void CMyDlg::OnTimer(UINT nIDEvent) { nIDEvent = 1; //指定定时器 CTime t = CTime::GetCurrentTime(); //获得当原创 2011-11-07 19:07:13 · 1894 阅读 · 1 评论 -
文档视图框架简介
文档是程序的数据结构,CDocument的派生类对象。它负责程序数据的组织和维护,提供给程序的视图显示的数据。视图是程序的面,CView的派生类对象。它负责程序的面向客户的数据显示,并接受客户的请求,操作文档中的数据。每个View都有与之唯一关联的Document。在CView的派生类中的OnDraw函数中,通过GetDocument()返回与之关联的Document指针:pDoc。视图正原创 2011-11-07 18:58:50 · 840 阅读 · 0 评论 -
LINK : fatal error LNK1104: cannot open file "Dll1.lib"
写了个动态库Dll1.dll,想以静态形式掉用。我把.lib文件和.dll文件拷贝到了测试程序的debug目录下,编译的时候没错,链接错了,提示:LINK : fatal error LNK1104: cannot open file "Dll1.lib"。接着我把.lib文件放到工程目录下,即Debug的上一层目录下,错误就消失了。lib要放在工程目录下,因为工程目录是当前目录。原创 2012-03-29 18:46:04 · 5177 阅读 · 3 评论