社区
界面
帖子详情
点击不同的CTreeCtrl节点,弹出不同的窗口,如何实现
wongsung
2004-08-06 08:53:54
我在MDI程序,做了一个WorksapceBar,内嵌CTreeCtrl。
如何做到点击一个节点,弹出一个CEditView窗口,点击另一个节点,弹出一个CScrollView窗口
...全文
118
3
打赏
收藏
点击不同的CTreeCtrl节点,弹出不同的窗口,如何实现
我在MDI程序,做了一个WorksapceBar,内嵌CTreeCtrl。 如何做到点击一个节点,弹出一个CEditView窗口,点击另一个节点,弹出一个CScrollView窗口
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Kudeet
2004-08-06
打赏
举报
回复
http://dev.csdn.net/article/12/12693.shtm
http://www.czvc.com/down.asp?id=10
bestbear
2004-08-06
打赏
举报
回复
gzgz
zhangnanonnet
2004-08-06
打赏
举报
回复
一下是我点击不同的节点显示不同的数据的代码
void CSMSTableDlg::OnSelchangedSmstree(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
char cText[20], cTitle1[300], cTitle2[300], filename[MAX_PATH];
char key[20], codekey[20], inivalue[200], type[100];
int i, count;
int nCount;
count = GetSMSTypeCount();
memset(cText, 0, 20);
memset(cTitle1, 0, 300);
memset(cTitle2, 0, 300);
memset(filename, 0, MAX_PATH);
memset(key, 0, 20);
memset(codekey, 0, 20);
memset(inivalue, 0, 200);
memset(type, 0, 100);
sprintf(filename, "%s\\INI\\APP.ini", theApp.GetAppPath());
HTREEITEM hCurSel = m_ConsoleTree.GetNextItem(TVI_ROOT,TVGN_CARET);
CString str = m_ConsoleTree.GetItemText(hCurSel);
m_TreeTitle = str;
sprintf(cText, "%s", str);
m_Title.SetText(cText);
m_ResultSMS = "";
UpdateData(FALSE);
if (str.Compare("接收短信流水") == 0)
{
GetDlgItem(IDC_SMSLIST2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_SMSLIST)->ShowWindow(SW_HIDE);
nCount = m_EveryList.GetItemCount();
if (nCount > 0)
m_EveryList.EnsureVisible(nCount-1, FALSE);
}
else
{
GetDlgItem(IDC_SMSLIST2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_SMSLIST)->ShowWindow(SW_SHOW);
if (str.Compare("通知回复") == 0)
{
DelColumn();
AddNotifyHead();
m_SMSList.DeleteAllItems();
ShowNotify();
return;
}
if (str.Compare("个案查询") == 0)
{
DelColumn();
//AddNotifyHead();
m_SMSList.DeleteAllItems();
//ShowNotify();
return;
}
if (str.Compare("中奖表") == 0)
{
DelColumn();
AddRecordHead();
m_SMSList.DeleteAllItems();
ShowRecord("");
return;
}
if (str.Compare("积分表") == 0)
{
DelColumn();
AddTotalCountHead();
m_SMSList.DeleteAllItems();
ShowTotalCount();
return;
}
if (str.Compare("发送失败统计") == 0)
{
m_SMSList.DeleteAllItems();
DelColumn();
AddSendFalseHead();
ShowSendFalseList();
return;
}
if (str.Compare("发送短信流水") == 0)
{
m_SMSList.DeleteAllItems();
DelColumn();
AddSendFalseHead();
ShowSendList();
nCount = m_SMSList.GetItemCount();
if (nCount > 0)
m_SMSList.EnsureVisible(nCount-1, FALSE);
return;
}
/*
if (str.Compare("总中奖表") == 0)
{
DelColumn();
AddRecordHead();
}
*/
for (i=0; i<count; i++)
{
sprintf(key, "%d", i+1);
sprintf(codekey, "code%d", i+1);
GetPrivateProfileString("Info",
key,
"",
inivalue,
sizeof(inivalue),
filename);
sprintf(cTitle1, "%s中奖表", inivalue);
sprintf(cTitle2, "%s积分表", inivalue);
GetPrivateProfileString("Info",
codekey,
"",
inivalue,
sizeof(inivalue),
filename);
sprintf(type, "%s", inivalue);
if (str.Compare(cTitle1) == 0)
{
DelColumn();
AddRecordHead();
m_SMSList.DeleteAllItems();
ShowRecord(type);
return;
}
if (str.Compare(cTitle2) == 0)
{
DelColumn();
AddCountHead();
m_SMSList.DeleteAllItems();
ShowCount(type);
return;
}
}
}
*pResult = 0;
}
C
Tree
Ctrl
控件应用实例
增加顶级
节点
:
Tree
View.Nodes.Add("Key", "Text") 增加同级
节点
:
Tree
View.SelectedNode.Parent.Nodes.Add("Key", "Text") 增加子
节点
:
Tree
View.SelectedNode.Nodes.Add("Key", "Text") 全部展开:
Tree
View.ExpandAll() 全部收拢:
Tree
View.CollapseAll() ,通过C
Tree
Ctrl
控件的
节点
的变化,让
不同
的Dialog交替地粘贴在主Dialog上,从而方便于我们只用少数的
窗口
,调用更多的功能模块,不必再为每个模块都作为
弹出
窗口
,而显得繁杂
C
Tree
Ctrl
右击
弹出
菜单
C
Tree
Ctrl
右击
弹出
菜单,可以向属性控件中添加item,删除同样的道理,可以保存当前树形结构到配置文件中,可以从配置文件中加载当前目录
树视图 C
Tree
Ctrl
这是在codeproject上下的资源,和大家分享了
窗口
分割,填充树和dialog
窗口
分割,左边
实现
填充树,中间是dialog,右侧画图
基于MFC对话框的树形控件
简单的树形控件
实现
,简单的机试题,树形显示湖北行政区,直接运行
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章