由于基础知识都不会或忘光了,重新开始。
第一步:
先建一个vc工程,建立对话框。后面一步一步的添加!
注意看一下App::InitInstance(),其中有如下代码:
而CSingleDocTemplate 的作用是定义一个可生成单文档接口的文档模板,其基类是CDocTemplate.
它的构造函数有四个参数,根据信息我们可以知道它们分别是“字符串资源ID,文档类指针,窗口框架类指针,视图类指针”。
那么第一个参数的作用是什么?看msdn的解释:
中文意思: nIDResource为一个文档类型的资源,可包括:菜单、图标、快捷键、string资源,可以有7个组成部分;他们用'/n'分隔。
那么这7个分别是什么?
1、CDocTemplate::windowTitle 主窗口标题栏上的字符串
2、CDocTemplate::docName 文档的名称
3、CDocTemplate::fileNewName 文档类型的名称,多文档中在File/New对话框中
4、CDocTemplate::filterName 扩展名,用于打开文件类型分类时。和5一起使用
5、CDocTemplate::filterExt 和4一起使用
6、CDocTemplate::regFileTypeId 注册表相关
7、CDocTemplate::regFileTypeName 同样,注册表相关
第二步:计划添加工具栏,并添加对应的消息响应函数。
2.1 添加工具栏
初步确定工具栏有一下几个BUTTON:文件选择、目录选择、开始统计、参数设置、保存结果、软件说明、退出程序。
那么,先在工程的资源中Insert toolbar: IDR_Toolbar1,里面添加7个button. 双击button,设置各个对应的资源ID。
2.2下面,将TOOLBAR关联。
1、构造Toolbar对象:在MainFrm头文件中,加一个成员CToolBar m_newToolBar;
2、在CMainFrame::OnCreate()中添加代码,创建工具栏,并设置停靠
3、由于还没有对工具栏上的按钮设置消息响应,所以目前这些button还是灰的,后面需要设置消息响应。
(补充一下,ON_COMMAND与ON_UPDATE_COMMAND_UI的区别: ON_COMMANT是资源的消息响应函数,而ON_UPDATE_COMMAND_UI是资源状态的消息响应函数。)
进入 VC MENU-->View-->ClassWizard,选中TOOLBAR对应的资源,添加COMMAND响应函数,点OK。这样各工具栏的消息设置完毕,内部具体的逻辑根据需求填充。
2.3 给工具栏添加TIP提示信息
在资源rc中添加ID对应的StringTable项,对应的Caption中以'/n'为分隔,后面为TIP提示内容,如下所示:
自此,框架初步搭建完毕。