您的位置:首页 > 其它

MFC中FlexGrid控件的用法

2013-07-26 21:11 253 查看
1. 给FlexGrid控件绑定成员变量:m_FlexGrid。

2. 设置行列数

m_FlexGrid.SetCols(4); // 设置列数

m_FlexGrid.SetRows(6); // 设置行数

3. 设置固定行数和固定列数

m_FlexGrid.SetFixedRows(1); // 设置固定行数为1行

m_FlexGrid.SetFixedCols(0); // 设置固定列数为0列

4. 设置列宽、行高

m_FlexGrid.SetColWidth(1,1500); // 设置列号为1的列宽为1500

m_FlexGrid.SetRowHeight(2,300); // 设置行号为2的行高为300

5. 设置文本对齐方式

m_FlexGrid.SetColAlignment(1,4); // 设置列号为1的文本对齐方式

参数对应描述为:

0 单元内容顶部左对齐。

1 单元内容中间左对齐。对字符串的缺省设置值。

2 单元内容底部左对齐。

3 单元内容顶部居中。

4 单元内容中间居中。

5 单元内容底部居中。

6 单元内容顶部右对齐。

7 单元内容中间右对齐。对数字的缺省设置值。

8 单元内容底部右对齐。

9 单元内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐。

6. 设置表头和单元格内容

m_FlexGrid.SetTextArray(0,"Head1"); // 设置表头(第1列)内容为“Head1”

m_FlexGrid.SetTextMatrix(1,1,"Text"); // 设置单元格(行号1列号1)内容为“Text”

7. 增加一行

m_FlexGrid.AddItem("AddString",(COleVariant)(3L)); // 在行号为3的位置增加一行

8. 合并单元格

for(i=0;i<4;i++)

m_FlexGrid.SetTextMatrix(5,i,"合计"); // 将行号为5、列号从0到4的单元格内容设为相同“合计”

m_FlexGrid.SetMergeCells(2); // 设置单元格合并方式(下述)

m_FlexGrid.SetMergeRow(5,TRUE); // 设置要合并的行

SetMergeCells函数的参数值如下:

0: flexMergeNever 默认的选项,就是不合并

1: flexMergeFree 不规则的合并

2: flexMergeRestrictRows 行合并

3: flexMergeRestrictColumns 列合并

4: flexMergeRestrictBoth 行,列都合并

注意只有单元格内容相同时才能进行合并操作。

9. ***可编辑的FlexGrid控件

m_FlexGrid.GetColSel(); // 获取点击的行号

m_FlexGrid.GetRowSel(); // 获取点击的列号

m_FlexGrid.GetRows() // 获取行数

m_FlexGrid.GetWindowRect(&rect); // 获取FlexGrid控件的窗口矩形

m_FlexGrid.GetTextMatrix(lRow,lCol); // 获取单元格内容

m_FlexGrid.SetText(strInput); // 设置单元格内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: