Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14497561
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:54:51

下载本文示例代码
  表头控制(CHeaderCtrl)通常应用在窗口中的文本或数据的列表之上。一般为数据列的标题,可以包括多个部分,用户可以拖动每个部分并可以控制每列的宽度。表头控制类提供了普通表头控制的基本方法,只有在WINDOWS95以后版本系统中才提供,其方法包含在afxcmn.h文件中,一般与标签控制(CTabCtrl)和列表控制(CListCtrl)组合使用。   (一)表头控制的对象结构   1、表头控制对象的建立方法   CHeaderCtrl &cheaderCtrl 建立表头控制对象   Create 建立表头并绑定对象   CHeaderCtrl::Create的格式如下:BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );  其返回值非零时初始化成功,否则失败。   参数dwStyle用来确定表头控制类型;rect用来确定表头控制的大小和位置;ParentWnd用来确定表头控制的父窗口;nID用来表示表头控制的标志。   表头控制风格包括:   HDS_BUTTONS 表示表头控制外观类似按钮;   HDS_HORZ 表示表头控制为水平排列;   HDS_VERT 表示表头控制为垂直排列;   HDS_HIDDEN 表示表头控制为隐藏模式。   它也可以使用普通类控制风格,包括:   CCS_BOTTOM 设置控制位置在父窗口的底部并与父窗口同样宽度;   CCS_NODIVIDER 在控制顶部形成两个像素的高亮区;   CCS_NOHILITE 在控制顶部形成一个像素的高亮区;   CCS_NOMOVEY 在响应WM_SIZE消息时重置大小并水平排列;   CCS_NOPARENTALIGN 使控制自动靠近父窗口的顶部或底部;   CCS_NORESIZE 设置初始大小或新值时使控制使用默认宽度和高度;   CCS_TOP 设置在父窗口客户区域的顶部并与父窗口同样宽度;   同样表头控制也可以使用窗口控制风格,包括:   WS_CHILD 建立一个子窗口,不能用于WS_POPUP窗口类型;   WS_VISIBLE 建立一个初始时不可见的窗口;   WS_DISABLED 建立一个初始时无效的窗口;   WS_GROUP 确定可用光标移动的控制群组;   WS_TABSTOP 确定可用TAB控制移动站点;   表头控制一般分为两个步骤,首先确定表头控制的数据结构,然后建立表头控制并绑定对象。   2、表头控制的属性   表头控制的属性包括取得表头控制中项目的数量GetItemCount、取得表头控制中某一项目的内容GetItem和设置表头控制中某一项目的内容SetItem。   3、表头控制的操作方法   表头控制的操作方法包括向表头控制中插入一个新项目InsertItem、从表头控制中删除一个项目DeleteItem和绘制表头中给定的项目DrawItem等。   (二)表头控制的数据结构   在使用表头控制时,首先必须建立一个数据结构HD_ITEM,其结构定义如下: typedef struct _HD_ITEM { UINT mask; //结构成员有效控制位 int cxy; //表头项目的宽度 LPSTR pszText; //表头项目内容 HBITMAP hbm; //表头项目的位置句柄 int cchTextMax; //表头内容字符串长度 int fmt; //表头项目的格式 LPARAM lParam; //应用程序定义的32位数据 } HD_ITEM;   屏蔽控制位说明了数据结构成员中包含的有效数据,可以是下面标志的组合:    HDI_BITMAP hbm成员有效    HDI_FORMAT fmt 成员有效    HDI_LPARAM lParam成员有效    HDI_TEXT pszText 和cchTextMax 成员有效    HDI_WIDTH cxy 成员有效并确定项目宽度值   格式标志位fmt可以是以下标志的组合:    HDF_CENTER 表头项目居中    HDF_LEFT 表头项目左对齐    HDF_RIGHT 表头项目右对齐    HDF_BITMAP 表头显示一个位图    HDF_OWNERDRAW 由主窗口自绘表头项目    HDF_STRING 表头项目为一个字符串   (三)表头控制的应用技巧   由于表头控制无法单独使用,其主要是配合列表控制和标签控制,并多以文字表头应用多见,InsertItem、SetItem和GetItem是常用的方法,如在列表控制时利用InsertColumn属性就可以增加一个表列的文本标题,具体用法和技巧见列表控制和标签控制。下面以在列表控制中的增加表列的方法来具体说明: lvcol.pszText="品 名";//设置第一列表头名 lvcol.iSubItem=i; //表列序号 lvcol.cx=70; //表列宽度 m_ListCtrl.InsertColumn(i ,&lvcol);//插入一个表列 lvcol.pszText="数 量";//设置第二列表头名 lvcol.iSubItem=i; lvcol.cx=70; m_ListCtrl.InsertColumn(i ,&lvcol);//插入一个表列 ......//其它代码   表头控制(CHeaderCtrl)通常应用在窗口中的文本或数据的列表之上。一般为数据列的标题,可以包括多个部分,用户可以拖动每个部分并可以控制每列的宽度。表头控制类提供了普通表头控制的基本方法,只有在WINDOWS95以后版本系统中才提供,其方法包含在afxcmn.h文件中,一般与标签控制(CTabCtrl)和列表控制(CListCtrl)组合使用。   (一)表头控制的对象结构   1、表头控制对象的建立方法   CHeaderCtrl &cheaderCtrl 建立表头控制对象   Create 建立表头并绑定对象   CHeaderCtrl::Create的格式如下:BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );  其返回值非零时初始化成功,否则失败。   参数dwStyle用来确定表头控制类型;rect用来确定表头控制的大小和位置;ParentWnd用来确定表头控制的父窗口;nID用来表示表头控制的标志。   表头控制风格包括:   HDS_BUTTONS 表示表头控制外观类似按钮;   HDS_HORZ 表示表头控制为水平排列;   HDS_VERT 表示表头控制为垂直排列;   HDS_HIDDEN 表示表头控制为隐藏模式。   它也可以使用普通类控制风格,包括:   CCS_BOTTOM 设置控制位置在父窗口的底部并与父窗口同样宽度;   CCS_NODIVIDER 在控制顶部形成两个像素的高亮区;   CCS_NOHILITE 在控制顶部形成一个像素的高亮区;   CCS_NOMOVEY 在响应WM_SIZE消息时重置大小并水平排列;   CCS_NOPARENTALIGN 使控制自动靠近父窗口的顶部或底部;   CCS_NORESIZE 设置初始大小或新值时使控制使用默认宽度和高度;   CCS_TOP 设置在父窗口客户区域的顶部并与父窗口同样宽度;   同样表头控制也可以使用窗口控制风格,包括:   WS_CHILD 建立一个子窗口,不能用于WS_POPUP窗口类型;   WS_VISIBLE 建立一个初始时不可见的窗口;   WS_DISABLED 建立一个初始时无效的窗口;   WS_GROUP 确定可用光标移动的控制群组;   WS_TABSTOP 确定可用TAB控制移动站点;   表头控制一般分为两个步骤,首先确定表头控制的数据结构,然后建立表头控制并绑定对象。   2、表头控制的属性   表头控制的属性包括取得表头控制中项目的数量GetItemCount、取得表头控制中某一项目的内容GetItem和设置表头控制中某一项目的内容SetItem。   3、表头控制的操作方法   表头控制的操作方法包括向表头控制中插入一个新项目InsertItem、从表头控制中删除一个项目DeleteItem和绘制表头中给定的项目DrawItem等。   (二)表头控制的数据结构   在使用表头控制时,首先必须建立一个数据结构HD_ITEM,其结构定义如下: typedef struct _HD_ITEM { UINT mask; //结构成员有效控制位 int cxy; //表头项目的宽度 LPSTR pszText; //表头项目内容 HBITMAP hbm; //表头项目的位置句柄 int cchTextMax; //表头内容字符串长度 int fmt; //表头项目的格式 LPARAM lParam; //应用程序定义的32位数据 } HD_ITEM;   屏蔽控制位说明了数据结构成员中包含的有效数据,可以是下面标志的组合:    HDI_BITMAP hbm成员有效    HDI_FORMAT fmt 成员有效    HDI_LPARAM lParam成员有效    HDI_TEXT pszText 和cchTextMax 成员有效    HDI_WIDTH cxy 成员有效并确定项目宽度值   格式标志位fmt可以是以下标志的组合:    HDF_CENTER 表头项目居中    HDF_LEFT 表头项目左对齐    HDF_RIGHT 表头项目右对齐    HDF_BITMAP 表头显示一个位图    HDF_OWNERDRAW 由主窗口自绘表头项目    HDF_STRING 表头项目为一个字符串   (三)表头控制的应用技巧   由于表头控制无法单独使用,其主要是配合列表控制和标签控制,并多以文字表头应用多见,InsertItem、SetItem和GetItem是常用的方法,如在列表控制时利用InsertColumn属性就可以增加一个表列的文本标题,具体用法和技巧见列表控制和标签控制。下面以在列表控制中的增加表列的方法来具体说明: lvcol.pszText="品 名";//设置第一列表头名 lvcol.iSubItem=i; //表列序号 lvcol.cx=70; //表列宽度 m_ListCtrl.InsertColumn(i ,&lvcol);//插入一个表列 lvcol.pszText="数 量";//设置第二列表头名 lvcol.iSubItem=i; lvcol.cx=70; m_ListCtrl.InsertColumn(i ,&lvcol);//插入一个表列 ......//其它代码 下载本文示例代码


VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件VC通用控件编程之CHeadCtrl控件
阅读(279) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~