淘宝能不能改会员名帮我改一下MFc工程的工程名吗

当前位置:
在MFC中应用CTreeCtrl控件的技巧
在MFC中应用CTreeCtrl控件的技巧
发布日期: 22:02
浏览次数:15132次
标  签: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
在VC环境中除了我们所常用的Dialog、Menu和Bitmap等标准资源类型之外,它还支持自定义资源类型(Custom Resource),我们自定义的资源类型能做些什么呢?呵呵,用处多多。...
在VC环境中除了我们所常用的Dialog、Menu和Bitmap等标准资源类型之外,它还支持自定义资源类型(Custom Resource),我们自定义的资源类型能做些什么呢?呵呵,用处多多。...
本文介绍了套接字编程的基本知识。...急求!!怎么改工程及文件名啊??相应软件砸过来啊!_mfc吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:6,122贴子:
急求!!怎么改工程及文件名啊??相应软件砸过来啊!收藏
在乎这个干嘛
我来告诉你吧,来加
基本上很难,需要改的地方太多。一般是文本工具查找、替换。建议重新建立工程
很简单的,看你是什么样的版本
中南的人盛行~~~~~
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或MFC已经做好了一个小成品,怎么改工程名?有什么软件么?或者具体步骤?先谢了。
在Visual Studio里面Solution Explorer单击选中工程,然后按F2。
专业造轮子 www.gaclib.net怎么区分一个工程是MFC类型还是API类型_百度知道
怎么区分一个工程是MFC类型还是API类型
,但偶尔也能截图成功....还有就是这个程序在不同的机器上运行出错结果不一样......:运行到一个界面事,小女子感激不尽啊,这个程序是运行正常的啊...高手点津...但是在给我之前.,它两很像啊..,里面各个编辑框位置错乱..;按钮.,就弹出内存不够的对话框.,第一台带电脑..,但截出来的图全是黑色.第三台.:截图是成功了.这究竟是怎么回事呀;截图&quot......:是一点击&quot...,有的该显示的按钮没显示出来......别人给我一个编好的程序,第二台..,我不好意思说看不出来是工程类型,大小也变.
...,谢谢各位大虾了,所以设计截图功能..这是个图象处理的程序...还可以加分的.
提问者采纳
或者说系统生成的大段代码,所以我个人认为,可能是要用到什么动态链接的东西,绿色的注释,有的话就简单多了,我觉得要是api的exe,文档视图,说白了你说的这种情况和和硬件相关啊,就不能正常显示了,可能这个三个机器里没有装vc,而且容易出错,写程序有点费劲,可以做到不需要相关的编译环境就能正常运行,只要看看里面有没有数据交换你看看你有源代码文件如,dsp,再说了不用mfc,那就不好说了,消息映射,有的就是mfc了如果没有上述文件只有exe,cpp之类的文件没有
提问者评价
非常感谢好心人,其他的回答也很好,可是我不知道改怎么给其他回答人也给分,在这都谢谢各位大侠了!
其他类似问题
按默认排序
其他2条回答
如果有,说明是mfc程序打开stdafx.h文件;afxwin:#include &lt,如没有则是api类型.h&gt,看有没有下面一行
...有这么神奇的程序,每台机运行都不一样。。。能发给我看看吗,但我不能保证我能帮到你。e-mail : tian-
mfc的相关知识
您可能关注的推广回答者:回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁mfc 两个 CPP一个工程里面有两个,比如A.cpp B.cpp A.h B.h A.dsp,A.cpp的头文件有A.h B.h,B.cpp文件的作用是什么?怎么和A实现的功能联系起来?A.cpp编译没有错,但是B.cpp编译就产生连接上的错误_百度作业帮
mfc 两个 CPP一个工程里面有两个,比如A.cpp B.cpp A.h B.h A.dsp,A.cpp的头文件有A.h B.h,B.cpp文件的作用是什么?怎么和A实现的功能联系起来?A.cpp编译没有错,但是B.cpp编译就产生连接上的错误
A.cpp的头文件肯定对应的是 A.h b.cpp的头文件是 B.h然后再编译a.cpp时候,发现#include "a.h" 和 #include "b.h"假设 a.cpp中包括了 main函数,而b.cpp中式自定义函数.那编译时候就会自动把a.cpp 和 b.cpp连接起来了.因为a.cpp中遇到的自定义函数,会在b.h 中找到函数声明,这就相当于一个单文件函数,在main前声明自定义函数原型一样.b.cpp要导入到工程里(一个工程包括什么文件在保存工程时会自动记录在.dsw文件中,所以下次要再次打开这个工程就要运行这个.dsw文件,而不是cpp)因为b.cpp中定义的函数被导入了工程,编译时候将连接进来.所以程序运行到自定义函数时候,就可以找到b.cpp中的函数了.当然,b.cpp中自定义的函数,因为是自定义的,所以很多词语系统并不知道,你要把这些自定义函数的原型告诉系统,就是把他的头文件包含进来b.cpp中一开始要写到 #include "b.h"
您可能关注的推广回答者:

我要回帖

更多关于 淘宝能不能改会员名 的文章

 

随机推荐