前两天在做一个CBCGPGridCtrl列表,有点击添加新增一行的需求,
列表中的数据较多时,新增在最后一行,列表无法定位显示新增行;
把BCGPGridCtrl.h的头文件从头到尾看了一遍,看到下面这两个函数应该是我所需要的函数
virtual void EnsureVisible (CBCGPGridRow* pItem, BOOL bExpandParents = FALSE);
void EnsureVisibleColumn (int nColumn);
但是加上之后,还是不管用,最后才发现是代码的顺序问题
m_gridTable.SetFocus();
m_gridTable.AdjustLayout();
m_gridTable.EnsureVisible(pItemRow, FALSE);
m_gridTable.SetCurSel(pItemRow, TRUE);
pItemRow->Select();
pItemRow->GetItem(0)->Select(TRUE);
调用AdjustLayout()函数,一定要写在前面,再写显示指定行的代码才可以。切记