mfc grid 可以有打勾的表格 指针动态创建
时间: 2024-02-11 21:04:07 浏览: 20
是的,MFC Grid 可以在运行时使用指针动态创建具有复选框列的表格视图。您可以通过以下步骤来实现:
1. 创建一个指向 CGridCtrl 对象的指针。
2. 使用 new 运算符创建 CGridCtrl 对象并将其分配给指针。
3. 设置 CGridCtrl 对象的行和列数。
4. 使用 CGridCheckBoxCell 类创建复选框列。
5. 将复选框列添加到 CGridCtrl 对象中。
6. 通过编程方式设置复选框列中的值来实现打勾的功能。
7. 将 CGridCtrl 对象添加到您的窗口中。
以下是一个示例代码片段,用于动态创建具有复选框列的 MFC Grid 控件:
```
// 创建指向 CGridCtrl 对象的指针
CGridCtrl* pGrid = new CGridCtrl();
// 设置 CGridCtrl 对象的行和列数
pGrid->CreateGrid(5, 3);
// 创建复选框列
CGridCheckBoxCell cell;
cell.SetCheck(1); // 设置复选框的值
pGrid->SetCellType(0, 0, RUNTIME_CLASS(CGridCheckBoxCell));
// 将复选框列添加到 CGridCtrl 对象中
pGrid->SetColumnWidth(0, 30); // 设置列宽
pGrid->SetItemText(0, 0, _T("打勾")); // 设置列标题
pGrid->SetCellType(0, 1, RUNTIME_CLASS(CGridCell)); // 设置其他单元格类型
// 通过编程方式设置复选框列中的值
pGrid->SetItemState(0, 0, GVIS_FOCUSED | GVIS_SELECTED); // 选中第一个单元格
pGrid->SetCheck(0, 0, TRUE); // 设置复选框为选中状态
// 将 CGridCtrl 对象添加到您的窗口中
pGrid->CreateGrid(WS_CHILD | WS_VISIBLE, CRect(0, 0, 300, 200), pParentWnd, 1234);
```
在上面的示例中,我们创建了一个指向 CGridCtrl 对象的指针,并使用 new 运算符创建了 CGridCtrl 对象。我们设置了 CGridCtrl 对象的行和列数,并使用 CGridCheckBoxCell 类创建了第一列的复选框列。我们还设置了复选框列的值为 1,这意味着复选框将被打勾。最后,我们将 CGridCtrl 对象添加到窗口中,并设置其位置和大小。