程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> VC++ >> 類似VB中的分類屬性表控件

類似VB中的分類屬性表控件

編輯:VC++

作者:Future Studio.徐景周
版權所有:徐景周
轉載請聯系作者

  如果你見過VB中的分類屬性表的話,你一定不會陌生吧!這種屬性表不但美觀,而且十分簡明、易操作。下面有我做的一個類似於這種VB中分類屬性表的控件,例圖如下:



  基本構成思想:此控件從ListBox派生,將每一行列表,填充為三列顯示。
  其中第一列為分類顯示的位圖所需,第二列為不能編輯的屬性名,第三列為可編輯的按鈕、下拉框、編輯框等。
  第一列做更換顯示位圖及展開或收縮其下相關條目使用;第二列顯示創建時的固定屬性名;第三列可根據創建時指定的創建類型,來決定在其中該創建何種控件(按鈕、下拉框、編輯框等)。具體實現方法可參看下載示例中的源碼。

下面我來說說如何在你的工程文件中使用它們:

1、將示例工程中的二個位圖:Expand.bmp和UnExpand.bmp復制到你的工程資源res目錄下,導入它們相應命名為:IDB_PROPERTY_EXPAND和IDB_PROPERTY_UNEXPAND。

2、將示例工程中的控件文件:PropertyList.cpp和PropertyList.h復制到你的工程中,並導入它們。

3、在你的工程文件中相關對話框中新建一ListBox控件,並創建一成員變量m_cList,在頭文件中將其成員變量的派生類從CListBox改為CPropertyList。

4、在上述對話框頭文件中加入#include “PropertyList.h”,在該類中定義變量如下:

CPropertyList* m_pList; //VB屬性表控件

CPropertyItem* m_pClassName; //公用屬性分類名稱

CPropertyItem* m_pName; //名稱


5、在上述該對話框類的初始化對話框OnInitDialog()中,創建其內容,如下:


//初始化VB屬性表控件

m_pList = &m_cList;

//公用屬性,jignzhou xu

m_pClassName = new CPropertyItem("公用屬性","",PIT_EDIT,"",TRUE,TRUE,0);

m_pName = new CPropertyItem("名稱","",PIT_EDIT,"",FALSE,FALSE,0);


6、在上述對話框類中的OnDestroy中,刪除創建的屬性條目,如下:

delete m_pClassName;

delete m_pName;


7、剩下,你就可以從其創建的變量中獲取或設置相應值了,如下:


//賦值給屬性表相應條目

m_pName->m_curValue=pGraph->GetNodeName();



//從屬性表相應條目中獲取值

pGraph->NodeName = m_pName->m_curValue

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved