类似vc类视图框上面的工具条怎么实现啊 望达人不吝赐教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对话框上加树形控件Tree control给点结点负值的代码你看下: HTREEITEM TopItem; HTREEITEM SubItem; for (int n=0; n<i; n++)//根结点个数 { //插入根结点,同时得到根结点指针 TopItem = m_ctrlModelTree.InsertItem(strEquip); //AfxMessageBox(strEquip); //二次select /////////////////// for (m=0; m<j; m++) { //插入第一层结点 SubItem = m_ctrlModelTree.InsertItem(strHander,0,0,TopItem); for (int p=0; p<k; p++) { //插入第二层结点 m_ctrlModelTree.InsertItem(strModel[p][0],0,0,SubItem); } } } 这是选中结点判断的代码:void CPaperCreateDlg::OnTreeViewCheck(){ HTREEITEM CheckIndex = NULL; HTREEITEM ParentIndex; CString **strFault = NULL;//相当于二维数组 CString strFileds[3]; CString strCondition = _T(""); CString strEquipType; int nFaultNum; int nerror; CPaperManView* pview = (CPaperManView*)(FromHandle(m_hview)); CheckIndex = m_ctrlModelTree.GetSelectedItem(); ParentIndex = m_ctrlModelTree.GetParentItem(CheckIndex); //点击空白处 if (PreCheckIndex == CheckIndex) { //AfxMessageBox("1"); return; } PreCheckIndex = CheckIndex; if (ParentIndex==NULL)//点击的是根节点 { //AfxMessageBox("2"); return; } //根结点的父结点 ParentIndex = m_ctrlModelTree.GetParentItem(ParentIndex); if (ParentIndex==NULL)//点击的是第二层节点 { //AfxMessageBox("3"); return; } 谢谢qeq2008的回答,可能我没有说清楚,我要的效果是:在vc2003 中加入一个dialog, 然后添加一个button, 右键单击button,弹出一个属性对话框。我想做一个类似属性对话框的东些,现在就是不知道怎样做上面的工具条,其他的都做好了。 那就你给你的对话框加一个响应右键的事件:点击时弹出你的属性框(工具条或新的对话框)1.对话框:新建一个对话框youdlg在你主对话框的.h文件中#include<youdlg.h>public:cyoudlg dlg;然后在你.CPP中创建:dlg.Create(id_newdlg,this);在你响应事件中显示:dlg.ShowWindow(ture)就行了 2.弹出工具条:在MENU中新插入工具条IDR_TOOLBAR1app.h中public:CToolBar m_myToolBar;app.cpp中://定义自己的TOOLBAR if (!m_myToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY |CBRS_SIZE_DYNAMIC,rect,IDR_TOOLBAR1) /*||!m_myToolBar.LoadToolBar(IDR_TOOLBAR1)*/) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } //工具栏的停靠设置 m_myToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_myToolBar);在你的响应事件中:theApp.m_myToolBar.LoadToolBar(IDR_TOOLBAR1)) qeq2008(啥都不会....悲哀!) , 非常感谢你的答复。我的QQ361375944,然后我发一张图片给你你就明白我的意思了。 http://www.codeproject.com/library/guitoolkit.asp to:xianglitian, 是的,是toolbar.另外,http://www.codeproject.com/library/guitoolkit.asp确实不错,但是有很多bug,用起来不是很顺,里面确实有我想要的风格内容。但是从里面剥出想要的部分内容太困难了。 加toolbar网上有很多例子你可以搜一下 网上有个CPropertyGrid, 做得非常漂亮,也是我想要的,就是里面没有源码,提供的静态链接库。 请问可以用VC6进行WMI编程吗?还是必须上VS? WINDOWS平台转UNIX系统 难么? tree的问题 怎么获得第二个MENU框架的菜单? Visual C++程序设计技巧与实例 可以重复给分到 1100分 中断应用程序执行并处理当前消息队列的消息,直到消息对列为NULL为止? 急问:对话框问题? 详细解释PE文件格式,或者提供学习网址者,200分求助,告急!!!急急!!! 如何使用ADO来对数据库进行加密 如何隐藏任务栏上的按钮? 关于数据包的问题(据说解决的人可获图灵奖提名奥) 求教UNICODE问题
给点结点负值的代码你看下:
HTREEITEM TopItem;
HTREEITEM SubItem;
for (int n=0; n<i; n++)//根结点个数
{
//插入根结点,同时得到根结点指针
TopItem = m_ctrlModelTree.InsertItem(strEquip);
//AfxMessageBox(strEquip);
//二次select
///////////////////
for (m=0; m<j; m++)
{
//插入第一层结点
SubItem = m_ctrlModelTree.InsertItem(strHander,0,0,TopItem);
for (int p=0; p<k; p++)
{
//插入第二层结点
m_ctrlModelTree.InsertItem(strModel[p][0],0,0,SubItem);
}
}
}
void CPaperCreateDlg::OnTreeViewCheck()
{ HTREEITEM CheckIndex = NULL;
HTREEITEM ParentIndex;
CString **strFault = NULL;//相当于二维数组
CString strFileds[3];
CString strCondition = _T("");
CString strEquipType;
int nFaultNum;
int nerror; CPaperManView* pview = (CPaperManView*)(FromHandle(m_hview)); CheckIndex = m_ctrlModelTree.GetSelectedItem();
ParentIndex = m_ctrlModelTree.GetParentItem(CheckIndex); //点击空白处
if (PreCheckIndex == CheckIndex)
{
//AfxMessageBox("1");
return;
}
PreCheckIndex = CheckIndex;
if (ParentIndex==NULL)//点击的是根节点
{
//AfxMessageBox("2");
return;
}
//根结点的父结点
ParentIndex = m_ctrlModelTree.GetParentItem(ParentIndex);
if (ParentIndex==NULL)//点击的是第二层节点
{
//AfxMessageBox("3");
return;
}
点击时弹出你的属性框(工具条或新的对话框)
1.对话框:
新建一个对话框youdlg
在你主对话框的.h文件中#include<youdlg.h>
public:
cyoudlg dlg;
然后在你.CPP中创建:dlg.Create(id_newdlg,this);在你响应事件中显示:dlg.ShowWindow(ture)就行了
在MENU中新插入工具条IDR_TOOLBAR1
app.h中
public:
CToolBar m_myToolBar;
app.cpp中:
//定义自己的TOOLBAR
if (!m_myToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY |CBRS_SIZE_DYNAMIC,rect,IDR_TOOLBAR1)
/*||!m_myToolBar.LoadToolBar(IDR_TOOLBAR1)*/)
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
} //工具栏的停靠设置
m_myToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_myToolBar);在你的响应事件中:
theApp.m_myToolBar.LoadToolBar(IDR_TOOLBAR1))
另外,http://www.codeproject.com/library/guitoolkit.asp
确实不错,但是有很多bug,用起来不是很顺,里面确实有我想要的风格内容。但是从里面剥出想要的部分内容太困难了。
你可以搜一下