WEB开发网
开发学院软件开发VC MFC通用控件的初始化 阅读

MFC通用控件的初始化

 2008-01-17 21:36:55 来源:WEB开发网   
核心提示: #define ICC_LISTVIEW_CLASSES 0x00000001 // listview, header#define ICC_TREEVIEW_CLASSES 0x00000002 // treeview, tooltips#define ICC_BAR_CLASSES 0

#define ICC_LISTVIEW_CLASSES 0x00000001 // listview, header
#define ICC_TREEVIEW_CLASSES 0x00000002 // treeview, tooltips
#define ICC_BAR_CLASSES 0x00000004 // toolbar, statusbar, trackbar, tooltips
#define ICC_TAB_CLASSES 0x00000008 // tab, tooltips
#define ICC_UPDOWN_CLASS 0x00000010 // updown
#define ICC_PROGRESS_CLASS 0x00000020 // progress
#define ICC_HOTKEY_CLASS 0x00000040 // hotkey
#define ICC_ANIMATE_CLASS 0x00000080 // animate
#define ICC_WIN95_CLASSES 0x000000FF
#define ICC_DATE_CLASSES 0x00000100 // month picker, date picker, time picker, updown
#define ICC_USEREX_CLASSES 0x00000200 // comboex
#define ICC_COOL_CLASSES 0x00000400 // rebar (coolbar) control
#define ICC_INTERNET_CLASSES 0x00000800
#define ICC_PAGESCROLLER_CLASS 0x00001000 // page scroller
#define ICC_NATIVEFNTCTL_CLASS 0x00002000 // native font control

注意到ICC_WIN95_CLASSES等于之前所有值的或,因此使用该标记调用InitCommonControlsEx会初始化listview,header,treeview等控件.

进程初次加载dll时,系统会以DLL_PROCESS_ATTACH参数调用DLLMain. 在动态库comctl32.dll中,会在这时候用ICC_WIN95_CLASSES标记调用InitCommonControlsEx, 因此进程一旦加载了comctl32.dll,就注册了一系列的通用控件.

进程最后一次卸载dll时,系统会以DLL_PROCESS_DETACH参数调用DLLMain. 在动态库comctl32.dll中,会在这时候调用UnregisterClass取消所有已经册过的通用控件窗口类.

上一页  1 2 3 4  下一页

Tags:MFC 通用 控件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接