望达人不吝赐教!

解决方案 »

  1.   

    对话框上加树形控件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);
    }
    }
    }
      

  2.   

    这是选中结点判断的代码:
    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;
    }
      

  3.   

    谢谢qeq2008的回答,可能我没有说清楚,我要的效果是:在vc2003 中加入一个dialog, 然后添加一个button, 右键单击button,弹出一个属性对话框。我想做一个类似属性对话框的东些,现在就是不知道怎样做上面的工具条,其他的都做好了。
      

  4.   

    那就你给你的对话框加一个响应右键的事件:
    点击时弹出你的属性框(工具条或新的对话框)
    1.对话框:
    新建一个对话框youdlg
    在你主对话框的.h文件中#include<youdlg.h>
    public:
    cyoudlg dlg;
    然后在你.CPP中创建:dlg.Create(id_newdlg,this);在你响应事件中显示:dlg.ShowWindow(ture)就行了
      

  5.   

    2.弹出工具条:
    在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))
      

  6.   

    qeq2008(啥都不会....悲哀!) , 非常感谢你的答复。我的QQ361375944,然后我发一张图片给你你就明白我的意思了。
      

  7.   

    http://www.codeproject.com/library/guitoolkit.asp
      

  8.   

    to:xianglitian, 是的,是toolbar.
    另外,http://www.codeproject.com/library/guitoolkit.asp
    确实不错,但是有很多bug,用起来不是很顺,里面确实有我想要的风格内容。但是从里面剥出想要的部分内容太困难了。
      

  9.   

    加toolbar网上有很多例子
    你可以搜一下
      

  10.   

    网上有个CPropertyGrid, 做得非常漂亮,也是我想要的,就是里面没有源码,提供的静态链接库。