zoukankan      html  css  js  c++  java
  • 树形控件显示数据库数据项

    Step1:创建对话框程序,在stdafx.h中增加头文件afxdb.h(因为需要数据库相关类),然后添加一个新类CUserSet,派生自CRecordset,数据源根据实际数据库配置

    Step2:对话框头文件CMyDialog.h中添加成员变量theUserSet(注意:要添加UserSet.h),并添加成员变量CImageList类型成员变量m_ImageList.

    Step3:对话框面板中拖入一个树形控件,并绑定类变量m_Tree;同时拖入一个Button按钮,响应函数为OnQuery()

    step4:在资源面板中插入三个ICON资源,自行绘制。

    Step5:在BOOL CMyDialog::OnInitDialog()中输入代码:

        m_ImageList.Create(16,16,ILC_COLOR24 | ILC_MASK,0,1);//创建
        m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON1)));//添加图标资源
        m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON2)));
        m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON3)));
        m_Tree.SetImageList(&m_ImageList,TVSIL_NORMAL);//绑定树控件

    Step6:在Button按钮的响应函数(OnQuery())中添加代码

    void CMyDlg::OnQuery() 
    {
        if(theUserSet.IsOpen())
        {
            theUserSet.Close();
        }
        theUserSet.Open();
        
        CString userTreeHeader[3]={"医生","售药员","管理员"};
        HTREEITEM userItem[3];
        for(int i=0;i<3;i++)
        {
            //三个用户根结点;
            userItem[i]=m_Tree.InsertItem(userTreeHeader[i],0,0,TVI_ROOT);
            m_Tree.SetItemData(userItem[i],(DWORD)i);
        }
        HTREEITEM thePoint;
        for(i=0;i<3;i++)
        {
            theUserSet.m_strFilter="UserClassification='"+userTreeHeader[i]+"'";
            theUserSet.Requery();
            for(int j=0;;j++)
            {
                if(theUserSet.IsEOF())
                {
                    break;
                }    
                if(theUserSet.m_UserAccount=="gm") //当前用户
                {
                    HTREEITEM userSpecifics=m_Tree.InsertItem(theUserSet.m_UserAccount+"(当前用户)",2,2,userItem[i]);
                    m_Tree.SetItemData(userSpecifics,(DWORD)j);
                    thePoint=userSpecifics;//标识点
                }
                else
                {
                    HTREEITEM userSpecifics=m_Tree.InsertItem(theUserSet.m_UserAccount,1,1,userItem[i]);
                    m_Tree.SetItemData(userSpecifics,(DWORD)j);
                }
                theUserSet.MoveNext();
            }
        }
        m_Tree.Select(thePoint,TVGN_CARET);
    }

  • 相关阅读:
    Python 队列
    Python 栈
    Python面试百题
    TCP:四次挥手
    TCP:三次握手
    SQL:八 SQL高级处理
    SQL:七 集合运算
    SQL:六 函数、谓词、CASE表达式
    SQL:五 复杂查询
    python爬虫——爬取网页数据和解析数据
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7880114.html
Copyright © 2011-2022 走看看