VC中CCheckListBox使用注意事项
CCheckListBox可以實(shí)現(xiàn)帶CheckBox的ListBox,VC6自帶,頭文件Afxwin.h;
但不支持托放式加入界面(再次罵下開發(fā)VC的MS人員,UI支持超級弱智!)。
有個(gè)方法比較簡單,在窗口拖放一個(gè)CListBox(不會(huì)不知道是哪個(gè)吧?那就撞墻好了。),ID是IDC_LIST1,在類向?qū)骼飫?chuàng)建一個(gè)Control型變量,如m_List,在窗口類里將會(huì)有
CListBox m_List;
將CListBox修改成CCheckListBox;
直接這樣還是不行滴!直接運(yùn)行你會(huì)發(fā)現(xiàn)崩潰,在list的style驗(yàn)證那崩潰。也就是說它的style必須要有LBS_OWNERDRAWFIXED(列表中的所有項(xiàng)的高度都相同)或LBS_OWNERDRAWVARIABLE(列表中項(xiàng)的高度各不相同)兩種style之一,MSDN下,Create方法里有段介紹
dwStyle
Specifies the style of the checklist box. The style must be either LBS_OWNERDRAWFIXED (all items in the list are the same height) or LBS_OWNERDRAWVARIABLE (items in the list are of varying heights).
郁悶的是,它及它的父類CListBox都不支持SetStyle,
這里可以采用直接修改定義的方法添加,直接全工程搜索IDC_LIST1,文件類型選 *.* ,肯定會(huì)搜索出來
LISTBOX IDC_LIST1,160,133,153,84,LBS_OWNERDRAWFIXED |
LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_BORDER |
WS_VSCROLL | WS_TABSTOP,WS_EX_STATICEDGE
直接手動(dòng)加上,運(yùn)行,OK!
最后步設(shè)置style比較重要,若有人知道其他設(shè)置方法,歡迎告知,先行謝過!
轉(zhuǎn)載于:https://blog.51cto.com/liusirjiayou/1268390
總結(jié)
以上是生活随笔為你收集整理的VC中CCheckListBox使用注意事项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [ACM_几何] Wall
- 下一篇: Triangular Sums