- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GridCtrlEx控件FAQ
目录
GridCtrlEx控件FAQ 1
1. 一个固定用法 1
2. 可以控制单元格是否可以编辑 3
3. 在选定一个单元格时,选择整行 3
4. 说明添加固定列头和固定行头的方法 3
5. 说明填写表格内容的方法 5
6. 在选定一行时有响应函数 6
7. 由双击的响应函数 6
8. 由响应右键点击的函数 6
9. 可以方便的删除和添加固定列头 7
10.可以设置、删除、添加固定行头 7
11.可以在第一个单元格中加入Check控件 8
12.可设表格的背景和字体,可设单元格的颜色和字体 8
13.可以方便的添加或者删除一行 9
14.可以由程序选定某一行 9
15.可以由程序自动滚动到某一行,显示在用户面前 10
16.说明添加排序功能的方法 10
17.说明在单元格中添加或者改变图形的方法 11
18.遍历所有的选中行的方法 11
19.设置控件允许单选或者多选的方法 13
20.设置不要焦点和焦点外框的方法 13
21.CGridCtrl的扩展 13
1. 一个固定用法
一个常用的用法是将CridCtrl当做ListCtrl那样的用,同时又增加了即时编辑的功能:
以下假设在一个Dlg增加一个GridCtrl的控件:
我们可以按以下步骤进行:
第一步:表格控件加到工程中去
可以有两种方法:
(1)可以使用controls panel中的custom control添加,添加后如下设置:
(2)也可以用菜单View-Resource Symbol添加一个ID号(适用于Create出来的GridCtrl)
第二步:在Dlg的头文件中加入
CGridCtrl m_Grid;
第三步:Create控件(如果是用controls panel中的custom control添加的可以跳过)
在Dlg的OnCreate函数中添加
m_Grid.Create(……)代码
第四步:创始化控件
在DoDataExchange中添加
DDX_GridControl(pDX, IDC_GRID, m_Grid);
在Dlg的OnInitialDialog中添加如下代码:
//设置控件类似于ListCtrl的表现
m_Grid.SetListMode(TRUE);
//设置控件的初始行数和列数
m_Grid.SetRowCount(1);
m_Grid.SetColumnCount(4);
//设置控件背景颜色,这里GetDefaultCell的两个参数分别表示是否是固定行或者是固定列。如果不设定,缺省的颜色为白色。
m_Grid.GetDefaultCell(FALSE, FALSE)-SetBackClr(Color);
//设置控件的固定行为一行,一般是必须的
m_Grid.SetFixedRowCount(1);
//设置控件的固定列为一列,
m_Grid.SetFixedColumnCount(1); //第一列为固定列一列
//设置控件的固定行或者固定列不能被选中(默认就是固定的不能被选)
m_Grid.SetFixedColumnSelection(FALSE);
m_Grid.SetFixedRowSelection(FALSE);
//设置控件是否允许隐藏行或者列
m_Grid.EnableColumnHide(FALSE);
m_Grid.EnableRowHide(FALSE);
//设置控件是否允许编辑
m_Grid.SetEditable(FALSE);
//设置控件是否允许选择
m_Grid.EnableSelection(TRUE);
//设置控件是否允许点击表头排序
m_Grid.SetHeaderSort(TRUE);
//设置控件是否允许多选或者单选
m_Grid.SetSingleRowSelection(TRUE);
m_Grid.SetSingleColSelection(TRUE);
//设置控件是否允许自动调整行列大小
m_Grid.SetRowResize(FALSE);
m_Grid.SetColumnResize(FALSE);
//设置控件不要焦点和焦点外框
m_Grid.SetTrackFocusCell(FALSE);
m_Grid.SetFrameFocusCell(FALSE);
第五步:设置控件的内容
强烈建议添加以下Dlg的两个成员函数:
void FillColumn(); //具体内容见4
void FillItem(); //具体内容见5
第六步:设置控件的响应
具体可见6、7、8
其它
在使用过程中经常需要由程式设定选中行,请始终连续使用以下两个语句:
m_Grid.SetSelectedRange(nRow,0, nRo
文档评论(0)