作者:finallyliuyu 出处 博客园
此文不适于MFC初学者,尤其适合对MFC有一定基础和了解,面临开发环境从VC6迁移到VC2008的小菜鸟们。
做个界面,主要是Demo作用,因此不管多丑陋,只要比控制台直观就好。
界面格式如下:
整个程序基于对话框,对话框上有一个tabcontrol控件,该控件有两个tabpage,第一个tabpage用于显示查找的字典信息。(字典在数据库中),第二个tabpage用于演示分词算法。
难点一:VS2008中如何使用tabcontrol控件?
此部分主要参照资料:http://hi.baidu.com/threeswords/blog/item/fcbffbee7f2229ded439c96c.html
以及http://blog.csdn.net/akof1314/archive/2009/10/30/4746928.aspx
主要的意思是:在每个TabPage上要放一个无边框,style为child型的子对话框。
我们首先要先在资源视图中新建对话框资源,并设计要放在每个TagPage上面子dialog的格式。
然后新建类。并在主对话框的头文件中加入新建对话框的头文件。
如下:
// WordSemanticToConceptDlg.h : header file
//
#pragma once
#include "afxcmn.h"
#include "TabPage1Dlg.h"
#include "TabPage2Dlg.h"
并为主对话框类
声明两个子对话框类型的成员变量:
CTabPage1Dlg m_tabpage1;
CTabPage2Dlg m_tabpage2;
难点二:如何给EditCtrl关联一个CString类的成员变量?
我们可以发现在VS2008中,控件右键-》添加变量,里面已经不再有CString的值类型。
我的解决方案如下
然后在控件所在的dlg的.h文件中将类型修改成CString,在控件所在的dlg的cpp文件中,将构造函数中此变量的初值由0改为“”,同时在cpp文件中的DoDataExchange函数中增加:
DDX_Text(pDX,IDC_EDIT1,m_editstring);