1.首先把属性(Editable)设置为可编辑(2 - Keyboard and Mouse 或 1 - Keyboard)
2.设置CheckBox 到第nCol 列 :m_Grid.SetColDataType(nCol, flexDTBoolean);
需要引入头文件 #include "flexUtil.h"
3.添加 AfterEdit 方法 里面实现点击CheckBox 时相应的操作(如下)
void MyDlg::OnAfterEditVsflexgridl3(long Row, long Col)
{
VARIANT data;
data = m_Grid.GetRowData(Row);
Class* pData = (Class*)data.lVal;
long nCheck = m_Grid.GetCellChecked();
if(pData->IsParent(pData) &&Col == 0 )
{
m_Grid.SetRow(Row);
m_Grid.SetCol(Col);
m_Grid.SetCellChecked(nCheck);
}
}//第0列加的 CheckBox控件
4. 如果你不想让其他内容修改则添加 SetupEditWindow 方法(如下)把编辑框设为只读即可
OnSetupEditWindowVsflexgridl3(long Row, long Col, long EditWindow, BOOL IsCombo)
{
if (!IsCombo) {
CEdit wnd;
wnd.Attach((HWND)EditWindow);
wnd.SetReadOnly(TRUE);
wnd.Detach();
}
}