[MFC]CListCtrl自動選擇一行

m_List.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
m_List.EnsureVisible(nIndex, FALSE);

不過使用上面方式後的選擇顯示是灰色的標記,並不是用滑鼠點選時的藍色。

如果需要選擇成藍色則如下:
m_List.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
m_List.EnsureVisible(nIndex, FALSE);
m_List.SetFocus();

但是方法僅能用在按下按鈕的同時。

如有需要在另外的Thread中來做SetFocus(),則需使用SendMessage的方式來達成。

No comments:

Post a Comment

Build docker image from multiple build contexts

Build docker image from multiple build contexts ...