InitCommonControlsEx()

参见:http://blog.sina.com.cn/s/blog_4fcd1ea30100qlzp.html

MFC通用控件初始化

*************************************************************************************

MFC工程中,在InitInstance()函数(一般在工程名.cpp文件中)中有这样一段代码:
*************************************************************************************
  // 如果一个运行在 Windows XP 上的应用程序清单指定要  

  // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,  

  // 则需要 InitCommonControlsEx()。否则,将无法创建窗口。  

  INITCOMMONCONTROLSEX InitCtrls;
  InitCtrls.dwSize = sizeof(InitCtrls);
  // 将它设置为包括所有要在应用程序中使用的公共控件类。
  InitCtrls.dwICC = ICC_WIN95_CLASSES;
  InitCommonControlsEx(&InitCtrls);
**************************************************************************************
InitCommonControlsEx()

作用:通用控件初始化

原型:BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX lpInitCtrls);

参数:lpInitCtrls参数指向一个INITCOMMONCONTROLSEX结构:

   typedef struct tagINITCOMMONCONTROLSEX {
    DWORD dwSize;   // 结构长度
    DWORD dwICC;   // 需要初始化的类
   } INITCOMMONCONTROLSEX, *LPINITCOMMONCONTROLSEX; 
说明:ICC_WIN95_CLASSES标识为ICC_LISTVIEW_CLASSES、ICC_BAR_CLASSES等的组合,定义如下:
  
********************************************commctrl.h**********************************************************

WINCOMMCTRLAPI void WINAPI InitCommonControls(void);

#if (_WIN32_IE >= 0x0300)
typedef struct tagINITCOMMONCONTROLSEX {
    DWORD dwSize;             // size of this structure
    DWORD dwICC;              // flags indicating which classes to be initialized
} INITCOMMONCONTROLSEX, *LPINITCOMMONCONTROLSEX;
#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
#if (_WIN32_IE >= 0x0400)
#define ICC_INTERNET_CLASSES   0x00000800
#define ICC_PAGESCROLLER_CLASS 0x00001000   // page scroller
#define ICC_NATIVEFNTCTL_CLASS 0x00002000   // native font control
#endif
#if (_WIN32_WINNT >= 0x0501)
#define ICC_STANDARD_CLASSES   0x00004000
#define ICC_LINK_CLASS         0x00008000
#endif // (_WIN32_WINNT >= 0x0501)

WINCOMMCTRLAPI BOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *picce);
#endif      // _WIN32_IE >= 0x0300

************************************************************************************************************************

时间: 2024-11-13 09:04:09

InitCommonControlsEx()的相关文章

Win32 SDK程序创建一些控件(简单调用InitCommonControlsEx,并指定ICC_LISTVIEW_CLASSES控件就可以了)

在Win32 SDK中创建一些控件的时候需要注意一下(具体是哪些控件请参看MSDN文档中列出来的) [cpp] view plain copy /* MSDN:Carries information used to load common control classes from the * dynamic-link library (DLL).This structure is used with the InitCommonControlsEx function. * 需要使用的结构体和函数

魔改——MFC SDI转MDI

==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完整性. 未经作者同意请勿修改(包括本声明),保留法律追究的权利. 未经作者同意请勿用于出版.印刷或学术引用. 本文不定期修正完善,为保证内容正确,建议移步原文处阅读. 本文链接:http://www.cnblogs.com/wlsandwho/p/4286906.html =============

win32创建控件的一些问题

在我们使用CreateWindow();像一般控件建Windows扩展控件的时候我们会发现控件没有创建成功 这是因为我们没有对Windows扩展控件库进行初始化,这要我们使用InitCommonControlsEx();函数来对 Windows扩展控件库进行初始化,代码如下: INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(INITCOMMONCONTROLSEX);InitCtrls.dwICC = ICC_PAGESCROL

Win32对话框程序(2)

接着Win32对话框程序(1)来写 ,解决遗留的问题,即理解函数及其调用关系.文章中有些地方是自己的推断,因此肯定有叙述不准确甚至错误的地方,请指正,感谢~ *******************************正文分割************************************ WinMain函数 Win32对话框程序(1)中说了WinMain是应用程序的入口,其输入参数有四个,根据MSDN上的叙述: 输入变量声明 说明 HINSTANCE    hInstance 此应用

C#可以直接调用的Win32API

以前整理的Win32 API,可以直接在C#中直接调用,在做WinForm时还是很有帮助的.以前用在一个多窗口界面中,当轮询窗口时,调用API会提高很多效率. 源码下载 http://files.cnblogs.com/lordeo/win32api.rar 源码包含三个文件Win32API.cs,Enums.cs,Structs.cs分别如下 Win32API.cs 复制  保存 using System;using System.Drawing;using System.Runtime.In

[MFC美化] MFC使用SkinMagic详解-1

[SkinMagic使用流程] 1.工程配置SkinMagic相关文件 2.初始化SkinMagic皮肤文件,窗体加载皮肤 3.释放皮肤资源 1.工程配置SkinMagic相关文件 在给窗体或对话框加载皮肤的时候首先要把使用SkinMagic所用到的相关Dll..h文件.Lib包含到工程目录下: SkinMagicLib.h :放到工程的根目录   SkinMagic.lib :放到工程的根目录或者放到其他目录,后者需要工程添加现有项,添加进资源文件 SkinMagic.dll :放到debug

调皮的MFC(2)

上回书说到,WinMain和窗口处理函数分别被相应的类操作和宏操作所取代.这次我们就来看一下,取代之后的MFC程序是如何运行的吧. 先把类继承图贴出来,随时可以回顾一下. 主cpp文件中的第一个操作语句: // The one and only CMyWinApp object CMyWinApp theApp; 1.生成一个对象自然是要调用构造函数的,但是不仅要调用自身的构造函数,还得调用父类的构造函数.虽说一个自动生成的类,其构造函数是空的,但是父类的构造函数还是可以完成一些初始化操作的.

IE 实现代码示例

IE 是 CE 的一个标准功能,但 很多人想定制 IE 浏览器,以实现某此特殊的需求. 以早以前看过 MS 提供的 IE 示例,研究了一下,现将代码分享出来,大家一起学习.需要注意的是,IESIMPLE 做为窗体的类名不能修改,详细见代码中的注释. resource.h 头文件: 1 // 2 // Copyright (c) Microsoft Corporation. All rights reserved. 3 // 4 // 5 // Use of this source code is

TeamTalk初学笔记4---关于win-client【第二篇:入口文件teamtalk.cpp】

#include "stdafx.h" #include "teamtalk.h" #include "UI/MainDialog.h" #include "GlobalConfig.h" #include "versioninfo.h" #include "google/protobuf/stubs/common.h" #include "utility/utilCommon