设置GridCtrl中的Checkbox 为不可编辑

   m_Grid.SetCellType(index, 1, CGridCtrl::CellType_Check);   //设置第index行、第一列的单元格为类似CheckBox的模样 
OnGridCheckEdit(NMHDR *pNMHDR, LRESULT* pResult)
{
	*pResult = 0;
	NM_GRIDVIEW* pItem = (NM_GRIDVIEW*) pNMHDR;
	if (!m_Grid.IsValid(pItem->iRow,pItem->iColumn)) 
	{
		return ;
	}

	if (pItem->iColumn == 1) 
	{
		*pResult = -1;
	}

}
m_Grid.SetCheck(index, 1, 0); //设置相应单元格为是否选中(是否打对勾)

 

上边的函数与一个ON_NOTIFY关联

ON_NOTIFY(GVN_BEGINLABELEDIT,IDC_GRIDCTRL, OnGridCheckEdit)


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
GridCtrl 是一个用于显示和操作表格数据的控件。要在 GridCtrl 添加复选框列,你可以按照以下步骤进行操作: 1. 创建 GridCtrl 实例并设置表格的属性和列数。 2. 为复选框列创建一个列对象,并将其添加到 GridCtrl 。 3. 在需要显示复选框的行,为每个单元格创建一个复选框控件,并将其添加到相应的单元格。 4. 监听复选框的状态变化事件,在事件处理程序执行相应的操作。 以下是一个示例代码片段,演示了如何在 GridCtrl 添加复选框列: ``` // 创建 GridCtrl 实例 CGridCtrl gridCtrl; gridCtrl.Create(/* 窗口句柄等参数 */); // 设置表格属性和列数 gridCtrl.SetRowCount(3); // 设置行数 gridCtrl.SetColumnCount(4); // 设置列数 // 创建复选框列 CGridColumn checkboxColumn; checkboxColumn.SetHeaderText(_T("Checkbox")); // 设置列标题 gridCtrl.AddColumn(checkboxColumn); // 添加复选框到每个单元格 for (int row = 0; row < gridCtrl.GetRowCount(); ++row) { CCheckBox checkbox; checkbox.Create(/* 窗口句柄等参数 */); gridCtrl.SetCellEditor(row, 0, &checkbox); // 将复选框添加到指定单元格 } // 监听复选框的状态变化事件 gridCtrl.SetCheckboxStateChangedCallback([](int row, bool checked) { // 在这里处理复选框状态变化事件 // 根据需要执行相应的操作 }); ``` 请注意,以上代码只是一个示例,具体实现可能会因你所使用的 GridCtrl 控件库或编程语言而有所不同。你需要根据自己的实际情况进行相应的调整和修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值