程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> VC中CCheckListBox使用注意事項

VC中CCheckListBox使用注意事項

編輯:關於VC++

CCheckListBox可以實現帶CheckBox的ListBox,VC6自帶,頭文件Afxwin.h;

但不支持托放式加入界面(再次罵下開發VC的MS人員,UI支持超級弱智!)。

有個方法比較簡單,在窗口拖放一個CListBox(不會不知道是哪個吧?那就撞牆好了。),ID是IDC_LIST1,在類向導器裡創建一個Control型變量,如m_List,在窗口類裡將會有

CListBox m_List;

將CListBox修改成CCheckListBox;

直接這樣還是不行滴!直接運行你會發現崩潰,在list的style驗證那崩潰。也就是說它的style必須要有LBS_OWNERDRAWFIXED(列表中的所有項的高度都相同)或LBS_OWNERDRAWVARIABLE(列表中項的高度各不相同)兩種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,文件類型選 *.* ,肯定會搜索出來

LISTBOX     IDC_LIST1,160,133,153,84,LBS_OWNERDRAWFIXED |
        LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | NOT WS_BORDER |
          WS_VSCROLL | WS_TABSTOP,WS_EX_STATICEDGE

直接手動加上,運行,OK!

最後步設置style比較重要,若有人知道其他設置方法,歡迎告知,先行謝過!

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved