类似VB中的分类属性表控件

 

类似VB中的分类属性表控件

作者:徐景周

下载实例代码(http://www.csdn.net/cnshare/soft/12/12322.shtm)

 
如果你见过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

 

  其中,具体实现方法可在下载后示例源码后,参看既可。

 

 

联系方式:

作者EMAIL:jingzhou_xu@163.com

未来工作室(Future Studio)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
控件总览:   在VB开发环境控件在界面开发元素占有重要的地位。它不仅有外观整洁、达形式规范的优点,而且更重要的是它较高的信息现率(就是相对于其他控件来说能够达更多的信息),随着信息时代的到来,它的应用将更加的广泛。    那么在VB平台下,如何操作这一功能强大的控件元素呢?事实上我们知道,VB平台下面的控件是相当丰富的,总结下来提供了4种类型:Microsoft Data Bound grid Control、Microsoft Datagrid Control、Microsoft Flexgrid Control、Microsoft Hierarchial Flexgrid Control. 这四种格各有其特点,下面我们一一讨论。   1. Microsoft Data Bound grid Control   此控件主要用于数据绑定(可以不绑定,但是因为不提供对单个cell的控制支持,所以实际上这样做是不经济的)。具体说来,就是数据源比较固定的情况下可以使用这种控件。   具体使用方法是设定此控件的datasource属性,就可以不用编写任何代码就可以显示该数据源所指向的记录数据。比如可以将datasource设置为一个data控件,而data控件又指向数据库"成绩"的 一个"语文",那么当程序运行时,它就自动显示此"语文"的数据。 基本步骤如下: 1、向工程上添加Microsoft Data Bound Grid Control控件,即DBGrid控件。 2、在窗体上添加DBGrid控件DBGrid1和Data控件Data1。 3、设置Data1的DatabaseName属性为你要看的数据库的名字。 4、设置Data1的RecordSource属性的名字或合法的SQL Select语句。 5、设置DBGrid1的DataSource属性为Data1。   从上面的分析看得出来,这个控件虽然操作方便,但是它也有局限性,就是不能对显示的数据进行灵活的控制操作,比如有些数据允许用户修改,有些数据却不允许用户修改,而此控件却只能提供全部数据源的原子操作:即要么全部允许修改,要么就全部不允许。还有另外此控件也不提供对单个单元格(cell)进行操作,所以提供不了更为个性化的界面风格。   2. Microsoft Datagrid Control   此控件跟前面介绍的Data Bound grid Control控件很相似,也是主要进行绑定操作,而缺点和Data Bound grid Control完全一样。但是它跟Data Bound grid Control不一样的是其数据源的驱动引擎只能是OLEDB形式的,不能是DAO,比如就可以使用ADO数据控件,不能使用DATA控件。而Data Bound grid Control却刚好和它相反,这一点在开发一定要注意。   3. Microsoft Flexgrid Control与Microsoft Hierarchial Flexgrid Control.   这里重点介绍这两种控件,因为在实际开发,这两种控件应用的场合更多一些,它不仅能够反映数据,而且也能把数据的修改信息反映到数据库去,所以弥补了上述两种控件的不足。   如果数据不需要修改,那么可以进行绑定操作,其方法跟前面介绍的完全一样,就是通过设置DataSource属性来完成数据的显示工作。但是实际开发,需要对整个控件更为灵活的显示控制。   在给出例程之前,有必要对这一控件进行比较详尽的认识:这种控件允许将文本或者图象放置于每个单元格之控件的Row与Col属性允许用户在代码指定当前行和列,当然也可通过操作鼠标和键盘来改变这两个属性,而text属性指明当前单元格的文本。如果单元格的文本太长而不能完全显示出来的话,可以通过将WordWrap属性设置为true来达到显示的目的。下面将比较重要的属性小结如下:   DataSource---------用来指定需要绑定的数据源,比如data控件。   Cellpicture----------用来设定当前单元格的图象,便于显示该图象。此属性不能在设计时使用。   Col,Row---------------设定当前列和当前行,注意它们均是从0开始的,如果同时设定它们,可以指定当前的单元格。设计时也不能使用。   Cols,Rows---------------设置控件总的列数和行数。   Hwnd---------------格句柄,可以结合Windows API对控件进行更高级的控制。   Text---------------指定当前的单元格的文本内容。   TextMatrix(i,j)-------此属性比较重要,它用来指定第I行和第j列所确定的单元格的文本内容。它等价于下面的代码: MSHFlexGrid1.Rows =i MSHFlexGrid1.Cols =j MSHFlexGrid1.Text =指定的字符串   WordWrap-------为ture时可以在当前单元格换行显示,否则如果要显示的字符的长度超过列宽,那么就不能显示完全。
VB控件属性大全【珍藏版】 1.01、窗体(FORM)的常用属性 2 1.02、标签控件(Lable)的常用属性 7 1.03、文本框控件(TextBox)的常用属性 9 1.04、框架控件(Frame)的常用属性 13 1.05、命令按钮控件(CommandButton)的常用属性 15 1.06、复选框控件(CheckBox)的常用属性 17 1.07、单选钮控件(OptionButton)的常用属性 19 1.08、组合框控件(ComboBox)常用属性 22 1.09、列控件(ListBox)的常用属性 25 1.10、水平滚动条控件(HScrollBar)和垂直滚动条控件(VScrollBar)的常用属性 28 1.11、定时器控件的常用属性 30 1.12、文件系统控件的常用属性 30 1.13、形状控件(Shape)常用属性 33 1.14、直线控件(Ling)的常用属性 35 1.15、图像控件(Image)的常用属性 36 1.16、图片框控件(PictureBox)的常用属性 38 1.17、数据控件(Data)的常用属性 43 1.18、OLE容器控件(OLE)的常用属性 46 1.19、菜单控件的常用属性 48 2.02、电影(ActiveMovie)控件的常用属性 49 2.01、Adodc控件的常用属性 52 2.03、动画(Animation)控件的常用属性 55 2.04、公用对话框控件(CommonDialog)控件的常用属性 56 2.05、数据组合框(DataCombo)控件的常用属性 60 2.06、数据型电子控件(DataGrid)的常用属性 62 2.07、数据列(DataList) 控件的常用属性 65 2.08、DTPicker控件的常用属性 67 2.09、平面滚动条控件(FlatScrollBar)的常用属性 70 2.10、图像组合框(ImageCombo)控件的常用属性 71 2.11、图像列控件(ImageList)的常用属性 74 2.12、Inet控件的常用属性 74 2.13、列视图控件(ListView)的常用属性 75 2.14、MAPIMessages控件的常用属性 79 2.15、MAPISession控件的常用属性 80 2.16、MaskEdBox控件的常用属性 80 2.17、多媒体(MMControl)控件的常用属性 83 2.18、月视图(MonthView)控件的常用属性 86 2.19、图控件(MSChard)的常用属性 89 2.20、MSComm的常用属性 93 2.21、电子控件(MSFlexGrid)的常用属性 94 2.22、层次型电子控件(MSHFlexGrid)的常用属性 99 2.23、MSRDC控件的常用属性 104 2.24、PictureClip控件的常用属性 106 2.25、进度栏(ProgressBar)控件的常用属性 107
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值