设置GridCtrl中的Checkbox 为不可编辑

本文详细介绍了如何在C++中通过设置GridCtrl控件的CellType来实现类似CheckBox的样式,并通过OnNotify关联的函数OnGridCheckEdit来处理检查编辑事件,实现用户交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
  1.    m_Grid.SetCellType(index, 1, CGridCtrl::CellType_Check);   //设置第index行、第一列的单元格为类似CheckBox的模样   
   m_Grid.SetCellType(index, 1, CGridCtrl::CellType_Check);   //设置第index行、第一列的单元格为类似CheckBox的模样 
 
  1. OnGridCheckEdit(NMHDR *pNMHDR, LRESULT* pResult)  
  2. {  
  3.     *pResult = 0;  
  4.     NM_GRIDVIEW* pItem = (NM_GRIDVIEW*) pNMHDR;  
  5.     if (!m_Grid.IsValid(pItem->iRow,pItem->iColumn))   
  6.     {  
  7.         return ;  
  8.     }  
  9.   
  10.     if (pItem->iColumn == 1)   
  11.     {  
  12.         *pResult = -1;  
  13.     }  
  14.   
  15. }  
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;
	}

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

 

上边的函数与一个ON_NOTIFY关联

ON_NOTIFY(GVN_BEGINLABELEDIT,IDC_GRIDCTRL, OnGridCheckEdit)

转载于:https://www.cnblogs.com/ct0421/p/3545425.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值