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);
    }

  • 相关阅读:
    跨域通信
    Http协议-报文
    从快递公司作业模式看网络通信
    xx.exe 中的 0x7c92e4df 处最可能的异常: 0xC0000008: An invalid handle was specified
    [wp8游戏] cocos2d-x v2.2 + VS2013 环境搭建
    wp加载本地HTML(附带图片,CSS,JS)
    谈谈.NET程序集(一)
    [读书心得] .NET中 类型,对象,线程栈,托管堆在运行时的关系
    矩估计与最大似然估计
    WP8开发札记(二)让程序支持锁屏运行
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7880114.html
Copyright © 2011-2022 走看看