ClistCtrl单击某个单元格,滚动条会自动滚动,使单元格完全显示在对话框内。
ClistCtrl单击某个单元格,滚动条会自动滚动,使单元格完全显示在对话框内。
我添加了单击响应函数,做了A操作。
程序运行中,我单击单元格,它做A操作,然后滚动条自己滚动,显示位置移动了,导致我的A操作有了问题;
我想,单击某个单元格,滚动条自己滚动,使单元格完全显示在对话框,之后,做A操作,如何实现?
void OnLbnClkList(NMHDR* pNMHDR, LRESULT* pResult)
{
//A操作:显示了一个编辑控件,但是该函数结束后,滚动条滚动又改变了单元格位置,导致控件位置不正确了。
m_ListCtrl.GetSubItemRect( pNMListView->iItem, pNMListView->iSubItem, LVIR_LABEL, cRectItem );
m_TextEdit.SetParent(&m_ListCtrl);
m_TextEdit.SetWindowText( m_ListCtrl.GetItemText( pNMListView->iItem, pNMListView->iSubItem) );
m_TextEdit.ShowWindow( SW_SHOW );
m_TextEdit.MoveWindow( &cRectItem );
m_TextEdit.SetEditVertCenter();
m_TextEdit.SetFocus();
}
应该解决这个问题呢?