社区
界面
帖子详情
MDI程序,连续打开两个文件分别在不同的窗口显示
yskshift
2015-01-28 03:58:15
我程序的思路是这样的,启动MDI程序,自动创建了一个窗口
在View类中有一个OnFileOpen()函数,打开文件,处理显示在这个窗口中(列表)
显示完后 用sendmessage的方法发送ID_FILE_NEW命令创建另一个窗口,请问怎么获取另一个窗口View类指针,以便后续的处理显示。 谢谢! 不懂我描述清楚没,欢迎提问!
...全文
183
4
打赏
收藏
MDI程序,连续打开两个文件分别在不同的窗口显示
我程序的思路是这样的,启动MDI程序,自动创建了一个窗口 在View类中有一个OnFileOpen()函数,打开文件,处理显示在这个窗口中(列表) 显示完后 用sendmessage的方法发送ID_FILE_NEW命令创建另一个窗口,请问怎么获取另一个窗口View类指针,以便后续的处理显示。 谢谢! 不懂我描述清楚没,欢迎提问!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
笨笨仔
2015-01-28
打赏
举报
回复
程序初始化时保存窗口指针,或按层次关系直接获取。 关于获得MFC窗口其它类指针的方法 关于获得MFC窗口其它类指针的方法(CSDN) 访问应用程序的其它类 获得CWinApp: -在CMainFrame,CChildFrame,CDocument,CView中直接调用AfxGetApp()或用theApp -在其它类中只能用AfxGetApp() 获得CMainFrame: -在CMinApp中用AfxGetMainWnd()或者m_pMainWnd -在CChildFrame中可用GetParentFrame() -在其它类中用AfxGetMainWnd() 获得CChildFrame: -在CView中用GetParentFrame() -在CMainFrame中用MDIGetActive()或GetActiveFrame() -在其它类中用AfxGetMainWnd()->MDIGetActive()或AfxGetMainWnd()->GetActiveFrame() 获得CDocument: -在CView中用GetDocument() -在CChildFrame中用GetActiveView()->GetDocument() -在CMainFrame中用 -if SDI:GetActiveView()->GetDocument() -if MDI:MDIGetActive()->GetActiveView()->GetDocument() -在其它类中 -if SDI:AfxGetMainWnd()->GetActiveView()->GetDocument() -if MDI:AfxGetMainWnd()->MDIGetActive()->GetActiveView()->GetDocument() 获得CView: -在CDocument中 POSITION pos = GetFirstViewPosition();GetNextView(pos) -在CChildFrame中 GetActiveView() -在CMainFrame中 -if SDI:GetActiveView() -if MDI:MDIGetActive()->GetActiveView() -在其它类中 -if SDI:AfxGetMainWnd()->GetActiveView() -if MDI:AfxGetMainWnd()->MDIGetActive()->GetActiveView() 不过要注意在doc中要取得view的指针C*View要注意类C*View声明的问题, 因为默认情况下,mfc在*View.h中已经包含了*Doc.h,如果在*Doc.h中包含 *View.h,就会引起嵌套包含问题,这样要在*Doc.h中加入 class C*View; 而在*Doc.cpp中加入 #include "*View.h"
Eleven
2015-01-28
打赏
举报
回复
遍历视图窗口~
lx624909677
2015-01-28
打赏
举报
回复
是单文档多视图的工程吗?是的话看下这里:http://blog.csdn.net/xianglifighter/article/details/28851443
OFFICE 全文检索
接近成功的努力 联系人:顾正红 电话:010-66977105 电子邮件:guzhenghong@sina.com 这是一个解决诸如 MS OFFICE 活动文档检索与定位的技术说明性质的
程序
,同时还力争解决 诸如 MS OFFICE 活动文档采用内存数据的方法,直接送进数据库,而不是通过以往的努力( 通过中间
文件
,然后以二进制数据
文件
的形式送进数据库)。 开发环境: MS WINDOWS 2000 PRO, MS VC++6.0 , MS-OFFICE 2000 测试环境: MS WINDOWS 2000 或 MS-WINDOWS98 或 MS-WINDOWS XP 或 MS WINDOWS 2003;;;; MS OFFICE 2000 或 MS OFFICE XP 或 MS OFFICE 2003 有了数据库,和
两个
模块,就可以测试这个
程序
; 1、
程序
为
MDI
程序
。 2、
程序
的第一个界面为列表的文档管理界面。; 3、关闭这个列表的文档视
窗口
; 4、执行(
文件
——
打开
)菜单命令,
打开
空白文档
窗口
,这是一个活动文档包容器
窗口
,执行菜单 命令(编辑——插入新对象),插入一个活动 MS WORD 2000 文档 5、向敲入任意文字 6、执行菜单命令(全文检索——检索)请输入一个文档中存在的关键词(最好关键词出现多次)
程序
提示出现次数; 7、执行菜单命令(全文检索——定位)请输入一个出现次数的序号;
程序
自动翻页定位; 8、执行菜单命令(
文件
——保存进库); 9、关闭文档
窗口
10、退出
程序
; 11、启动
程序
12、执行菜单命令(
文件
——从库
打开
),
程序
打开
你刚才敲入的 WORD 文档。
程序
已经在下列
程序
下进行了测试: MS WORD 2000 MS EXCEL 2000 MS POWERPOINT 2000 用户可以进行如下测试: 1、启动
程序
;
程序
界面为
MDI
界面,第一个界面为数据库中文档管理界面,数据库中已经予了一个电子表格(MS EXCEL 2000 的)
文件
,可以通过“
文件
”—“从库
打开
”命令
打开
; 2、执行“全文检索”——“单词全文检索”;
文件
类型:doc ; 选择一个存放 MS OFFICE 文档的目录; 不选择在子目录中检索; 关键词随便输入; 3、执行后,系统会自动
打开
一个文档
窗口
,这个界面为目录
文件
的管理界面。 4、如果存在检索结果,用鼠标双击任意检索结果。系统会自动
打开
文档,并自动选择关键词和翻页。 5、将
窗口
切换到
打开
的文档
窗口
。 6、执行菜单命令(
文件
——保存进库); 7、关闭文档
窗口
8、退出
程序
; 9、启动
程序
10、执行菜单命令(
文件
——从库
打开
),
程序
打开
你刚才保存的 WORD 文档。 在这样的技术背景下,作者还完成了 HTML 超文本
文件
的
显示
、全文检索、定位工作。 对于 HTML
文件
可以实现在内存中
打开
进行全文检索,用浏览控件
显示
,然后就可以实现定位功能。所以这样对于 互联网上的无数的网页可以进行检索,从而形成简单的搜索引擎。 然而对于MS WORD 2000EXCEL 2000, POWERPOINT 2000, 就是没有实现在内存中
连续
打开
多个文档。 同时实现的检索和定位的应用
程序
AUTOCAD 2000 的 DWG
文件
,实现 DWG
文件
的关键词检索和定位功能,对于 工程勘察、工程设计、工程施工单位。 DWG
文件
的检索与定位同样适用于 AUTOCAD 2002 或 AUTOCAD 2004 的 DWG
文件
。 由于采用自动化技术的后绑定技术,所以适用多种 MS OFFICE 版本。 下载的链接库为 Release UNICODE 版本。
vb6.0实验十习题与答案.docx
vb6.0实验十习题与答案.docx
TabBars---VC6 IDE增强插件
Visual C++ 6.0的集成开发环境对项目
文件
的管理功能比前几个版本有了很大的增强,但是对
打开
文档
窗口
的管理和普通的
MDI
编辑软件一样,只能通过
窗口
菜单切换,使用起来很不方便。2001年的时候我在网上见到了一款名为“WndTab”的VC插件,它提供了一个集成在编辑
窗口
的table标签栏,每个
打开
的文档对应一个标签栏的按钮,通过鼠标点击按钮可以在
文件
之间快速切换,大大方便了代码查看和编辑,除此之外,这个插件还提供了C++
程序
文件
和头
文件
互相切换功能(注:2003年的时候“Wndtab”插件还在开发,功能更多,还支持二次插件开发,但同时不稳定的毛病加重了,且占用资源太多,内存太少使用起来很困难)。这个插件一下子就征服了我(sorry,那个时候我不知道VA),通过对“WndTab”的使用,我也发现了很多问题,比如,
文件
切换只能在同一个目录中进行,当
程序
文件
和头
文件
分别放在
不同
的目录中时就不能切换。还有一个很大的问题就是“WndTab”提供了很多并不实用(仅仅是本人的看法,如有雷同,实属荣幸)而且繁琐、容易出错的功能,比如对标签栏的重组和编号功能,这个功能在频繁地
打开
和关闭
文件
时经常令VC的IDE崩溃。好在 “WndTab”的作者公开了源代码,于是我就开始研究“WndTab”的代码,于是便有了借鉴“WndTab”的成功经验,开发一个功能更实用且简单、稳定的插件的想法,于是“TabBars”便在2002年诞生了。 “TabBars”插件借鉴了“WndTab”插件的框架,大刀阔斧地去掉了标签栏重组和编号功能,简化了table标签栏的界面布局,使用Button 风格的自画table控件,重新设计了工具栏图标,界面更加美观。持此之外,TabBars还添加了很多实用的功能,比如自动保存
文件
,C++
程序
文件
和头
文件
互相切换支持多目录搜索功能,注释选定的代码块,从注释的代码块中恢复代码,为函数添加格式化函数声明,注释代码时自动添加操作者信息,自动保存编译过程,自动保存
文件
等等,所有的功能都支持快捷键。“TabBars”坚持开源品质,2002年发布的同时也发布了源代码,当时在网上引起了很大的反响,很多朋友提出了宝贵意见,修改bug,于是便有了很多个版本,我一直根据朋友的意见修改并维护着一个自己的版本,并通过http://www.winmsg.com/cn/orbit.htm发布,随后由于工作的原因有一段时间不能接触网络,新版本“TabBars”的发布也受到了影响,但是对“TabBars”的改进一直没有停止。2003 年,我和Codeproject上的.dan.g.联系,征得他的同意后将“项目代码自动打包”和“OpenZip”
两个
功能添加到了 “TabBars”(注:请参考codeproject上的文章:Zip-up the source code for your latest CodeProject article),我同时对这
两个
功能进行了修改,原来的“项目代码自动打包”功能只能将dsp目录中的
文件
打包,但是考虑到很多软件项目的代码
文件
和头
文件
都是分布在
不同
的目录中,只打包当前目录有些不妥,于是添加了指定整个目录打包的选项。2004年,我又将.dan.g.的“在代码中添加 Visio-like diagrams的功能”集成到“TabBars”中(注:请参考codeproject上的文章:Add and edit diagrams in your code with this 'Visio-like')。这两次修改的版本都没有正式发布,只在朋友们中间小范围测试使用,并不断修改。2005年4月,“TabBars”的测试工作完成,正式定版发布,版本号为:1.0.17.3169,2005年6月,代码整理完成,同时发布源代码。 本文主要介绍TabBars插件的功能和使用方法,关于如何编译、调试“TabBars”源代码和代码解读的问题,请参阅“http://blog.csdn.net/orbit/”上的“TabBars”系列文章。 说了这么多,你一定想知道“TabBars”到底什么样子?有什么功能?如何使用?下面就介绍“TabBars”的功能和使用方法。图(1) 就是“TabBars”集成到VC编辑环境后的界面,上面是一个工具条,下面是用于
文件
快速切换的table标签栏: 图1. 集成到VC编辑环境的“TabBars” 一 使用table标签
窗口
快速切换
文件
在一个大的项目中浏览
不同
文件
中的代码是一件痛苦的事情,VC所能够提供的帮助就是工作区中的“Files”
窗口
和菜单栏的“
窗口
”菜单,当项目中的
文件
很多时使用起来非常不方便。如果能够象属性页
窗口
那样通过一个Table控件在
不同
的
窗口
之间快速切换,就能够大大的提高工作效率。“TabBars”插件就实现了这个功能,“TabBars”插件采用子类化(subclass)技术,通过Hooker过滤工作区
窗口
的消息维护了一个table标签栏,在新文档
窗口
创建的时候在table标签栏上创建对应的标签按钮,文档关闭时删除标签按钮。这样开发人员只需要在标签栏的按钮上点击鼠标就可以快速切换到这个
文件
。在标签栏按钮上点击鼠标右键会弹出属性菜单: 图2. 标签栏属性菜单 通过菜单的关闭
窗口
功能可以有选择的关闭
窗口
,通过系统菜单可以访问Windows的
文件
系统菜单,关于Windows
文件
系统菜单将在后面介绍。 用户可以在配置
窗口
设置标签栏的
显示
属性: 图3. TabBars 选项 在“TabBars 选项”
窗口
可以设置标签栏的位置,可以在编辑
窗口
的上面,也可以设置在编辑
窗口
的下面,满足
不同
习惯用户的要求。还可以选择是否在标签栏
显示
图标,是否支持系统菜单以及新
打开
窗口
的位置,对于系统资源比较有限的用户还可以选择
打开
窗口
的最大限制。 二 C++
程序
文件
和头
文件
快速切换 对于一个管理良好的软件项目,函数的声明和实现通常是分开放在一对对应的
程序
文件
和头
文件
中,C++更是推崇这种做法,于是在
程序
文件
和对应的头
文件
之间切换,查看函数的定义和实现就成了一个频繁的操作,“TabBars”插件的C++
程序
文件
和头
文件
快速切换功能就是为了方便C/C++
程序
员而设计的。很多插件都有这个功能,但是“TabBars”有自己的特色,那就是支持多目录搜索,使用户在浏览其它库的代码时也能够得心应手。 要切换到当前
打开
文件
对应的
程序
文件
或头
文件
,只需点击工具栏的图标就可以切换到对应的
文件
,如果
文件
没有
打开
“TabBars”会自动
打开
文件
。通过插件配置
窗口
可以设置切换
文件
的搜索路径和
文件
匹配扩展名: 图4.
文件
切换选项 “TabBars”最多支持64个搜索目录,根据软件项目的
不同
可以选择使用其中的部分搜索目录,“TabBars”只从目录前面有X选择标记的目录中搜索对应的
文件
。用户还可以指定
文件
搜索时对扩展名的匹配,图(4)中的配置适用于C/C++
文件
的切换。“TabBars”首先用指定的匹配扩展名在
文件
所在的目录搜索对应的
程序
文件
或头
文件
,如果没有找到对应的
文件
就会依次搜索用户选择的搜索目录。 该功能的默认快捷键是:Ctrl+Shift+S 三 将当前
打开
的
文件
所在目录设为工作目录 有时候开发人员需要频繁地
打开
位于某个目录中的
文件
,比如浏览某个软件包代码的时候,可是VC集成环境的“当前目录”却在project
文件
所在的目录,每次
打开
文件
时
文件
选择对话框都会自动定位到project
文件
所在的目录,还要手工换到软件包所在目录,非常不方便。“TabBars”提供的这个功能可以把当前
打开
的
文件
所在的目录设为“当前目录”,这样再
打开
这个目录中的
文件
时VC的
文件
选择对话框会自动定位到这个目录,省去很多麻烦。单击工具栏的按钮就可以轻松的改变集成环境的“当前目录”。 四 以文本方式
打开
资源
文件
VC的class wizard在管理资源的时候经常会出错,有时候
两个
控件被设置为相同的ID,这会导致
程序
运行过程中存在潜在的错误,另外,有时候开发人员希望几个控件拥有
连续
的的ID(通常用在一组相同类型的控件消息处理),这就需要手工编辑资源
文件
。“TabBars”给开发人员提供了不离开集成开发环境就能够以文本方式编辑资源
文件
的功能。这个功能的使用很简单,首先
打开
某个资源,资源编辑
窗口
就成为当前
窗口
,此时单击工具栏的按钮就可以以文本的方式
打开
资源
文件
。 五 为选定的代码添加C风格的注释 这个功能就不多说了,就是使用一对/**/ 将选择的代码编程C风格的注释,如果用户还设置了“自动添加注释信息”,则会在开始位置添加注释信息。使用方法是首先在编辑
窗口
选择一块代码,然后单击工具栏的按钮,代码注释的效果如下图所示: 图5. C风格代码注释效果 该功能的默认快捷键是:Ctrl+Shift+B 六 为选定的代码添加C++风格的注释 嵌套的/**/注释是不允许的,当选择的代码块中已经有/**/注释的代码块时,使用C++风格的注释就是唯一的选择了。使用的方法是首先在编辑
窗口
选择一块代码,然后单击工具栏的按钮,代码注释的效果如下图所示: 图6. C++风格代码注释效果 该功能的默认快捷键是:Ctrl+Shift+R 七 从注释代码中恢复代码 这个功能也不用多说了,使用方法是首先在编辑
窗口
选择一块注释代码,对于C风格的代码块要选择完整的/**/对,然后单击工具栏的按钮。 该功能的默认快捷键是:Ctrl+Shift+U 八 添加格式化函数说明 这个功能就是在函数前面添加具有一定格式的说明,使用方法是首先选择完整的函数声明,下图所示的就是两种正确的选择: 图7. 选择完整的函数声明 然后单击工具栏的按钮,在弹出的对话框中输入对函数的说明和参数解释: 图8. 输入函数说明 下图是生成的说明块的效果: 图9. 格式化函数说明的效果 该功能的默认快捷键是:Ctrl+Shift+F 九 添加Visio-like diagrams 在你的代码中添加几个简单的模块关系图是不是很酷?感谢Codeproject上的.dan.g.为我们完成了这个工作。这个功能的使用很简单,首先在编辑
窗口
内将编辑光标定位到需要插入图表的位置,然后单击工具栏的按钮,就会弹出diagrams编辑
窗口
: 图10. diagrams编辑
窗口
下图是生成的代码: 图11. 生成的ASCII图表 如果要修改ASCII图表,只需选择完整的ASCII图表代码块,然后单击工具栏的按钮。 十 VC工程代码自动打包 直接在集成开发环境中将整个项目的源代码打包压缩成zip
文件
是一个很实用的功能,“TabBars”对此功能进入了深度开发,使其功能更为完善。当你要打包一个项目的代码时,单击工具栏的按钮就可以了。“TabBars”插件会自动搜索整个工作区的所有项目,然后定位到工作区的根目录,用户也可以根据代码组织的实际情况选择需要打包的代码所在目录,整个界面如图(12)所示: 图12. 打包整个工作区 选择压缩
文件
的输出位置,单击“确定”按钮就可以了。由于代码所在目录通常还有VC编译生成的临时
文件
,用户还可以选择打包过程中排除这些
文件
,在“打包压缩设置”
窗口
中可以设置
文件
选择方式: 图13. 打包压缩选项设置
窗口
如果选择了“压缩完成后
打开
文件
确认”选项,“TabBars”会在打包完成后自动调用zip
文件
的关联软件
打开
生成的压缩包,以确认是否正确生成了压缩
文件
。 十一 从zip压缩
文件
中
打开
VC工程 通常从网上下载的例子代码都是压缩在zip
文件
中的,查看zip
文件
中的项目通常要将代码解压缩到临时目录中然后用VC
打开
项目,“TabBars”提供了不离开VC的集成开发环境就能够查看zip压缩
文件
中的VC项目的功能。单击工具栏的按钮,在弹出的
文件
选择
窗口
中选择VC项目所在的zip压缩
文件
,“TabBars”会自动在指定的临时目录中展开压缩
文件
,然后定位到工作区
文件
并
打开
。如果一个zip
文件
中没有工作区(dsw)
文件
,“TabBars”会弹出
窗口
让用户选择具体的项目
文件
(dsp)。如果zip
文件
中有多个工作区
文件
,“TabBars”会弹出如下
窗口
让用户选择一个工作区: 图14. 选择工作区 用户可以通过图(13)所示的“打包压缩选项设置
窗口
”设置临时
文件
存放目录,默认的临时
文件
存放位置是:C:\unzipped 十二 自动保存
文件
“TabBars”提供定时自动保存
文件
功能。在图(15)所示的设置
窗口
中可以选择启用或关闭自动保存功能。 图15. 一般设置
窗口
十三 自动添加注释信息 “TabBars”提供在注释代码时梓潼添加注释信息的功能,目前的版本支持添加注释人名称和时间戳。可以在图(15)所示的设置
窗口
中选择自动添加的注释信息。 十四 自动生成工程编译日志 “TabBars”提供生成编译日志的功能,会在dsp
文件
所在目录生成一个同名的log
文件
,内部记载项目的编译次数和每次编译的情况,记录编译次数可以为你的软件定版本提供依据。以下时日志
文件
的部分内容示例: /本日志
文件
由 "Tabbar Add-in(1.17.3169) For Visual C++ 6.0" 创建 //项目
文件
:C:\unzipped\CustDlg\CustDlg.dsp //如果
文件
增长的很大请删除除本节之外的其他信息 [MAIN] nBuildNumber = 49 [Build00000001] sStartTime = 2005-08-18 16:17:53 sCompileUser = orbit nErrors = 0 nWarns = 0 sEndTime = 2005-08-18 16:17:57 [Build00000002] sStartTime = 2005-08-18 16:19:32 sCompileUser = orbit nErrors = 0 nWarns = 0 sEndTime = 2005-08-18 16:19:33 可以在图(15)所示的设置
窗口
中选择是否记录日志以及日志记录的内容。 十五 在table标签栏使用Windows系统菜单 在table标签栏单击鼠标右键会弹出
文件
属性菜单,如果你在“TabBars选项”
窗口
中选择“在右键菜单使用系统菜单”选项,则还可以使用Windows的系统菜单,不离开VC的集成开发环境就可以进行常规的
文件
操作: 图16. 系统菜单示例
多文档界面(
MDI
)VC源代码:animate_icon_src
多文档界面(
MDI
)源代码:animate_icon_src 关键字:animate_icon_src,多文档界面(
MDI
)
RINGSDK包含界面库和图象库。
RINGSDK包含界面库和图象库。 本项目为编译环境为VC6,需要先安装platform sdk.不断修改中,会陆续上传其他相关文档及DEMO 设置: VC6菜单tools->Options,选择Directoris页,把include,lib目录加入到相应
文件
列表,如果要调试,需要把libsrc目录下的各个子目录加入到Source files
文件
列表中。 工程依赖几个第三方库,需要先编译livsrc\free_lib下几个目录的工程,然后
打开
ringsdk.dsw编译。工程都已经设置好了,编译即可。 由于VC的智能提示不能识别界面库里的宏,因此建议安装VA(Visual.Assist) 创建基于RingSDK的工程: 新建一个Win32 Application的工程,不要让VC写任何代码,空的工程。然后选择菜单Project->settings..., 选择C/C++页,Category选择Code Generation,然后在Use run-time library选择: DEBUG选择Debug Multithreaded RELEASE选择MultiThreaded 工程设置完毕,然后可以加入CPP和H
文件
了。 类库使用: 1、头
文件
: 头
文件
包含"ringmain.h"就可以,如果要使用图象库,还需要包含"ringdib.h" 2、
窗口
类声明:
窗口
定义为如下格式: BEGIN_SETUPWINDOW(
窗口
名,
窗口
类型) BINNDID(对话框ID) //当
窗口
类型是对话框才需要写这个宏,且是可选的,即不写也可以 BEGIN_DEF_VAR(初始化标记) //这里定义类成员数据 END_DEF_VAR //这里定义类成员函数 //定义
窗口
消息处理函数 BEGIN_DEFMSG DEFMSG(消息代码) DEFMSGEX(自定义消息处理函数名) ... DEFCMD(命令处理函数名) ... DEFNOTIFY(通知消息代码) END_DEFMSG(
窗口
名) END_SETUPWINDOW(
窗口
名) 这里对上面代码中的中文进行说明:
窗口
名:
窗口
名同时也是该
窗口
类的对象名,比如
窗口
名为MainWindow,则该
窗口
类名为RingWnd_MainWindow, 同时声明了RingWnd_MainWindow* MainWindow=NULL; 以后只要调用MainWindow = NewRingObj(MainWindow);然后MainWindow就可以使用了。 以上代码相当于: class RingWnd_MainWindow { ... } RingWnd_MainWindow* MainWindow=NULL; 类名可以用RINGCLASS(
窗口
名)宏来得到
窗口
类型:为IS_WINDOW,IS_
MDI
FRAME,IS_
MDI
CHILD,IS_DIALOG,IS_PROPPAGE,IS_PROPSHEET这几个值之一,一看名称就知道,不需要多讲了。 其实这个只是声明了
窗口
类是从哪个类继承。 初始化标记:为NEED_INIT和NO_INIT
两个
值之一,指定了是否需要成员数据的初始化,一般成员数据的初始化可以在WM_CREATE消息里完成, 如果需要事先初始化,可以指定NEED_INIT,但是需要在CPP
文件
实现一个INITWINDOW(
窗口
名)的函数,进行初始化。 这个BEGIN_DEF_VAR(初始化标记)和END_DEF_VAR是可选的,即可以不写这
两个
宏,一样可以声明成员数据或函数。 消息代码:
窗口
消息代码,例:WM_CREATE 自定义消息处理函数名:响应自定义消息的处理函数,这个可以随便取名,例:OnCustomMessage 命令处理函数名:响应菜单命令或控件命令的处理函数,这个可以随便取名,例:OnOpenFile,OnButton1Click 通知消息代码:控件的通知消息代码,例:LVN_SELECTCHANGE 对话框ID:当
窗口
类型是对话框才需要写这个宏,且是可选的,即不写也可以。写了这句,对话框创建时可以不写参数,例: BEGIN_SETUPWINDOW(DlgAbout,IS_DIALOG) BINDID(IDD_ABOUT) ...
界面
15,978
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章