之前遇到過,搜了半天,沒記錄,今天又遇到了,又搜了半天。
當你希望開啟對話方塊時,clistctrl預設選擇一項時,這個很有用。
不知道mfc為什麼這麼簡單的功能要搞這麼複雜。
可能認識不夠吧,總結點是點。
三個要點: 一、
always show selection:false
總是顯示選定內容,即使控制項沒有焦點。
view:report
二、一定要設定焦點
//設定選中第二行
m_lsttest.setfocus();
m_lsttest.setitemstate(
1,lvis_selected|lvis_focused, lvis_selected|lvis_focused);
三、響應
nm_customdraw
---------------------------------------
oninitdialog();
m_lsttest.insertcolumn(0,"
column0
");
m_lsttest.insertcolumn(1,"
column1
");
m_lsttest.setcolumnwidth(
0,80);
m_lsttest.setcolumnwidth(
1,80);
m_lsttest.insertitem(0,"
row0
");
m_lsttest.insertitem(1,"
row1
");
m_lsttest.setitemtext(
0,1,
"row01
");
m_lsttest.setitemtext(
1,1,
"row11
");
//設定選中第二行
m_lsttest.setfocus();
m_lsttest.setitemstate(
1,lvis_selected|lvis_focused, lvis_selected|lvis_focused);
nm_customdraw
void cmfcdlgdlg::onnmcustomdrawlist(nmhdr *pnmhdr, lresult *presult)
else
if ( cdds_itemprepaint == plvcd->nmcd.dwdrawstage )
else
if ( (cdds_itemprepaint | cdds_subitem) == plvcd->nmcd.dwdrawstage )
else
plvcd->clrtext = clrnewtextcolor;
plvcd->clrtextbk = clrnewbkcolor;
*presult = cdrf_dodefault;
}
}
url:
CListCtrl非啟用狀態高亮顯示
之前遇到過,搜了半天,沒記錄,今天又遇到了,又搜了半天。當你希望開啟對話方塊時,clistctrl預設選擇一項時,這個很有用。不知道mfc為什麼這麼簡單的功能要搞這麼複雜。可能認識不夠吧,總結點是點。三個要點 一 always show selection false 總是顯示選定內容,即使控制項沒...
CListCtrl 設定選中狀態
clistctrl 設定選中狀態 1.使用clistctrl的函式setitemstate int nitem,uint nstate,uint nmask 如 m list.setitemstate index,lvni focused lvis selected,lvni focused lvi...
CListCtrl行高的修改
網上修改clistctrl項高度的方法一般是擴大字型,及用將項高度撐大.這兩種方法雖然簡單,但是效果卻不是很理想.一種比較理想的方法是自畫clistctrl,不過方法相對來說比較複雜.要修改clistctrl的列表項高度,我們需要自己新增 measureitem 的訊息響應函式,對應的訊息是 wm ...