InitCommonControlsEx Function|MFC通用控件初始化
来源:互联网 发布:最短路径算法floyd 编辑:程序博客网 时间:2024/05/17 02:54
*************************************************************************************
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
**************************************************************************************
这些代码的作用,注释里已经说的很清楚了,我们先来看下这写代码是什么意思。
我们从InitCommonControlsEx函数下手,其函数原型为:
BOOL InitCommonControlsEx(
);
其有一个参数lpInitCtrls,是一个指向结构体INITCOMMONCONTROLSEX的长指针,上面的代码先创建一个INITCOMMONCONTROLSEX结构体对象 InitCtrls,然后将其地址作为InitCommonControlsEx函数的参数。INITCOMMONCONTROLSEX结构体的定义在commctrl.h文件中,下面的代码节选自commctrl.h文件,其中包括InitCommonControls和InitCommonControlsEx函数的声明以及tagINITCOMMONCONTROLSEX 结构体的定义。
INITCOMMONCONTROLSEX结构体包含两个参数dwSize和dwICC,参数说明请看注释。_WIN32_IE和_WIN32_WINNT的定义请看stdafx.h文件。
InitCommonControlsEx函数的调用效果是累加的,例如你先以ICC_TAB_CLASSES标志调用InitCommonControlsEx,然后以ICC_BAR_CLASSES 标志调用,那么tab和bar通用控件类都将被注册并在你的程序中是可用的。InitInstance()函数中采用的ICC_WIN95_CLASSES其实是上面那些标志的组合。
********************************************commctrl.h**********************************************************
#if(_WIN32_IE >= 0x0300)
typedefstructtagINITCOMMONCONTROLSEX {
} INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
#defineICC_LISTVIEW_CLASSES
#defineICC_TREEVIEW_CLASSES
#defineICC_BAR_CLASSES
#defineICC_TAB_CLASSES
#defineICC_UPDOWN_CLASS
#defineICC_PROGRESS_CLASS
#defineICC_HOTKEY_CLASS
#defineICC_ANIMATE_CLASS
#defineICC_WIN95_CLASSES
#defineICC_DATE_CLASSES
#defineICC_USEREX_CLASSES
#defineICC_COOL_CLASSES
#if(_WIN32_IE >= 0x0400)
#defineICC_INTERNET_CLASSES
#defineICC_PAGESCROLLER_CLASS 0x00001000
#defineICC_NATIVEFNTCTL_CLASS 0x00002000
#endif
#if(_WIN32_WINNT >= 0x501)
#defineICC_STANDARD_CLASSES
#defineICC_LINK_CLASS
#endif
************************************************************************************************************************
ICC_BAR_CLASSES——注册工具栏、状态栏、Trackbar和Tooltip类。
ICC_COOL_CLASSES——注册Rebar类。
ICC_DATE_CLASSES——注册Date and Time Picker类。
ICC_HOTKEY_CLASS——注册Hot Key类。
ICC_INTERNET_CLASSES——注册IP Address Picker类。
ICC_LISTVIEW_CLASSES——注册ListView和Header类。
ICC_PAGESCROLLER_CLASS——注册Pager类。
ICC_PROGRESS_CLASS——注册Progress Bar类。
ICC_TAB_CLASSES——注册Tab和Tooltip类。
ICC_TREEVIEW_CLASSES——注册TreeView和Tooltip类。
ICC_UPDOWN_CLASS——注册Up-Down类。
ICC_USEREX_CLASSES——注册ComboBoxEx类。
ICC_WIN95_CLASSES——注册InitCommonControls函数注册的所有类。
转自:http://blog.sina.com.cn/s/blog_4fcd1ea30100qlzp.html
- InitCommonControlsEx Function|MFC通用控件初始化
- InitCommonControlsEx Function|MFC通用控件初始化
- InitCommonControlsEx Function|MFC通用控件初始化
- MFC通用控件初始化 —— InitCommonControlsEx Function
- MFC Initilization of General Service Control about InitCommonControls和InitCommonControlsEx(MFC 通用控件的初始化InitCommonControls和InitCo
- MFC通用控件的初始化
- MFC通用控件的初始化
- MFC中通用控件初始化过程
- MFC控件通用函数
- MFC 时间控件初始化
- InitCommonControlsex
- InitCommonControlsEx
- InitCommonControlsex
- InitCommonControlsex
- mfc添加非通用控件
- MFC子对话框及MFC通用控件
- MFC 中初始化RichEidt控件
- MFC控件篇之通用对话框
- 武大网络预赛 Problem 1537 - A - Stones I
- 异常exception与error-code
- 程序员:提高编程效率的技巧
- oracle的索引使用
- 怎样制作页面标签
- InitCommonControlsEx Function|MFC通用控件初始化
- 在web.xml中classpath和classpath*的区别
- SVN中trunk,branches,tags用法详解
- 004_012 Python 将列表中的元素交替的作为键和值来创建字典
- 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
- AfxEnableControlContainer()
- 数据库隔离级别
- 我的二级挂了
- iOS table简单实现增加移动和删除功能与自定义cell的实现