含有元音音素的字母h.h.m三个字母的中国名字

这是个机器人猖狂的时代,请输一下验证码,证明咱是正常人~当前位置:
在MFC中应用CTreeCtrl控件的技巧
在MFC中应用CTreeCtrl控件的技巧
发布日期: 22:02
浏览次数:18440次
标  签:windows,图形用户界面
文章评分:5.0
操  作:
称号:未设置简介:...
文章概要:
首先,我们要创建一个基本对话框的MFC工程MFC_TreeCRTL(名字随便给一个)。然后在资源视图中插入两个Dialog,ID分别为IDD_DIALOG11和IDD_DIALOG211,都更改Style属性为Child,Border属性为None,为它们建立两个类,分别命名为Cdialog11和Cdialog211,并在MFC_TreeCRTLDlg.CPP文件中包含dialog11.h和dialog211.h两个头文件。再导入几个资源图标作为树形控件节点的图标及装饰面板。最后在主面板上添加一个CTreeCtrl控件,ID为默认,并在ClassWizard中添加它的一个变量,命名为m_mytree。
首先,我们要创建一个基本对话框的MFC工程MFC_TreeCRTL(名字随便给一个)。然后在资源视图中插入两个Dialog,ID分别为IDD_DIALOG11和IDD_DIALOG211,都更改Style属性为Child,Border属性为None,为它们建立两个类,分别命名为Cdialog11和Cdialog211,并在MFC_TreeCRTLDlg.CPP文件中包含dialog11.h和dialog211.h两个头文件。再导入几个资源图标作为树形控件节点的图标及装饰面板。最后在主面板上添加一个CTreeCtrl控件,ID为默认,并在ClassWizard中添加它的一个变量,命名为m_mytree。
接着,我们进行具体代码编写。
我们必须在CMFC_TreeCRTLDlg类中加入这些变量和函数
CDialog * m_treePages[2];
CString node_
BOOL InitMytree();
我们还要在CMFC_TreeCRTLDlg类的构造函数中为m_treePages[2]分配空间,
m_treePages[0]=new Cdialog11;
m_treePages[1]=new Cdialog211;
InitMytree()函数为m_mytree的初始化过程
BOOL CMFC_TreeCRTLDlg::InitMytree()
//节点的图标
int i_count=2;
//载入图标
HICON icon[4];
icon[0]=AfxGetApp()-&LoadIcon (IDI_ICON6);
icon[1]=AfxGetApp()-&LoadIcon (IDI_ICON7);
//创建图像列表控件
CImageList *m_imagelist=new CImageL
m_imagelist-&Create(16,16,0,7,7);
m_imagelist-&SetBkColor (RGB(255,255,255));
for(int n=0;nAdd(icon[n]);
//把图标载入图像列表控件
m_mytree.SetImageList(m_imagelist,TVSIL_NORMAL);
//为m_mytree设置一个图像列表,使CtreeCtrl的节点显示不同的图标
m_mytree.SetBkColor(RGB(0,250,255));//设置m_mytree的背景色
//创建节点
HTREEITEM root0=m_mytree.InsertItem("Dialog1",0,1,TVI_ROOT,TVI_LAST);
HTREEITEM root1=m_mytree.InsertItem("Dialog2",0,1,TVI_ROOT,TVI_LAST);
//一层子节点
HTREEITEM sub_son0=m_mytree.InsertItem("Dialog 1-1",0,1,root0,TVI_LAST);
HTREEITEM sub_son1=m_mytree.InsertItem("Dialog 2-1",0,1,root1,TVI_LAST);
//二层孙子节点
HTREEITEM sub_m_son0=m_mytree.InsertItem("Dialog 2-1-1",0,1,sub_son1,TVI_LAST);
//建立节点对应的Dialog
m_treePages[0]-&Create(IDD_DIALOG11,this);
m_treePages[1]-&Create(IDD_DIALOG211,this);
m_treePages[0]-&ShowWindow(SW_SHOW);
m_treePages[1]-&ShowWindow(SW_HIDE);
//把Dialog移到合适位置
GetClientRect(m_rect);
m_rect.left=200;
m_treePages[0]-&MoveWindow(m_rect);
m_treePages[1]-&MoveWindow(m_rect);
始初化完成后,我们要添加CTreeCtrl的消息响应事件,这样才能让它按我们的要求起作用。我们打开Class Wizard点选IDC_TREE1添加TVN_SELCHANGED消息,并在消息响应函数中写入代码。
void CMFC_TreeCRTLDlg::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult)
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
UpdateData(true);
node_name=m_mytree.GetItemText(pNMTreeView-&itemNew.hItem);
//在标题栏显示节点信息
SetWindowText(node_name);
//切换面板
if(node_name=="Dialog 1-1"){
m_treePages[0]-&ShowWindow(SW_SHOW);
m_treePages[1]-&ShowWindow(SW_HIDE);
else if(node_name=="Dialog 2-1-1"){
m_treePages[0]-&ShowWindow(SW_HIDE);
m_treePages[1]-&ShowWindow(SW_SHOW);
UpdateData(false);
*pResult = 0;
最后,我们在 CMFC_TreeCRTLDlg::OnInitDialog()初始化函数里调用InitMytree()函数。程序运行效果:
到这里为止,我们就把一个Dialog粘贴到了主Dialog上了,通过CTreeCtrl控件的节点的变化,让不同的Dialog交替地粘贴在主Dialog上,从而方便于我们只用少数的窗口,调用更多的功能模块,不必再为每个模块都作为弹出窗口,而显得繁杂。
最多还可以输入100字
【VIP年会员制套餐】
【C/C++软件工程师实战能力集训大纲】
VC知识库发布了C/C++业界的“本草纲目”
【牛人都在千人一号群! 加群三步走!!!】
第一步:请必须加VC知识库QQ: 为好友;
第二步:请必须关注本站微博:
第三步:申请加入群:.(必须将关注微博截屏发到QQ方可通过!)
【最新2013:】
全部100% VC++源码提供: E-Form++全新大型SCADA & HMI解决方案源码、CAD解决方案源码、Gis解决方案源码 、电力石油化工仿真与图形建模解决方案源码、大量其他高级制图VC++源码下载!
【 新视频发布】
o o o o o o o o o o
Foxmail 新版中有一个《邮件特快专递》的功能。起先搞不懂如何用,后来知道要在“工具->系统选项”那边设置“本地 DNS 服务器的IP地址”。
  觉得这个新功能蛮好用的。不需要通过SMTP代理,可以直接通过本地往邮箱所在的邮件交换器发送邮件。在暑假一开始想在 VC++ 中实现这个功能。用 IRIS 截包后,发现程序中有 mx8.263.net 发送邮箱,不知道这个是什么东西,所以作罢。后来才想到这个就是 263.net 的MX记录主机,原来特快专递的原理就是往这个主机上发送数据就行。...
用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色。...
本文介绍了套接字编程的基本知识。...热门搜索:
漫步者K。M。H 这三个系列分别注重什么?谁给推荐个耳机?头戴的,不要话筒!
k是通讯系列,电脑用耳麦,耳机+麦克风的配置。k系列其实音质并不差的,用过k302的表示,不过人体工程学方面还是待改进m是时尚系列,颜色和造型方面多样性一点,另外挂耳和后挂基本上都在这个系列里。没有研究过的系....
你的总积分:
你好,欢迎登陆
(登录发表评论才能获得积分)
正在读取评论……
正在加载……
数据已全部加载
相关产品信息:
相关企业信息:
广告经营许可证 | 豫B2- | 增值电信业务经营许可证 豫B2-

我要回帖

更多关于 化简含有字母的式子 的文章

 

随机推荐