[Win32SDK基本]开启UI系统风格

原创 2015年07月08日 13:44:25
本文由CSDN用户zuishikonghuan所作,转载请注明出处:http://blog.csdn.net/zuishikonghuan/article/details/46802423

最近太忙了,马上就期末考试了,本来想说说模态窗口来的,但是稿子没写完,所以今天先说说系统风格:

先看看我之前做的一系列程序的运行图片:

开启系统风格之后:

可以发现按钮可以文字图片共存了,同时界面漂亮了很多,这是如何实现的呢?

其实系统风格就是使用win32的控件版本6.0

方法一:直接在cpp里头文件include下面加上这么一行即可:

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")

方法二:使用清单文件

先写一个manifest,放到工程的目录下面:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
     <assemblyIdentity
       name="Manifest"
       processorArchitecture="x86"
       version="1.0.0.0"
       type="win32"/>
   <dependency>
           <dependentAssembly>
                           <assemblyIdentity
                                   type="win32"
                                   name="Microsoft.Windows.Common-Controls"
                                   version="6.0.0.0"
                                   processorArchitecture="x86"
                                   publicKeyToken="6595b64144ccf1df"
                                   language="*"
                            />
            </dependentAssembly>
   </dependency>
 </assembly>

再在RC资源文件中加入:

1 MANIFEST "文件名.manifest"

如果是从VS的IDE模式编译,应该同时在工程属性里去掉清单工具。

注:如果这两种方法无效,应该再进行以下步骤:
添加头文件:

#include<commctrl.h>
#pragma comment(lib,"comctl32.lib")

在WinMain的开始调用:

InitCommonControls();

即可。


<p> 还有一个问题,细心的你可能已经发现系统风格打开之后text control的背景默认变成白色了,原因是我在博文:“[Win32SDK基本]Static Control(1)Text Static Control 和 WM_CTLCOLORSTATIC“(地址: http://blog.csdn.net/zuishikonghuan/article/details/46604945)中对 WM_CTLCOLORSTATIC 消息中把第二个text control设置背景后其他的我给return 0;了,return 0代表我已处理此消息,系统不再处理,把else全部改成break;即可,退出switch,然后交给DefWindowProc处理了,这个问题就解决了。
版权声明:本文为博主原创文章,本文作者授权在知识共享"署名-非商业性使用-相同方式共享" 4.0 (CC BY-NC-SA 4.0) 许可证下发布,您可以自由地在任何媒介以任何形式复制、发行本作品、修改、转换或以本作品为基础进行创作;您将必须同样提供原作者信息以及协议声明,您不得将本作品用于商业目的,并且您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。

[Win32SDK基本] 窗口详解(超详细)

Win32SDK创建窗口,虽然早已经烂大街了,但是那些资料太散,都不全面,无法满足我编程的需要,因此,有必要整理一下。 这篇文章包括一下几个部分: 1。窗口类详解 2。窗口样式详解 3。窗口显示更新详...

[Win32SDK基本] Combo Box

老规矩,先上MSDN:https://msdn.microsoft.com/en-us/library/windows/desktop/bb775792(v=vs.85).aspx 其实还是子窗口,s...

[Win32SDK基本] 窗口详解(超详细)(续)(补充)

上次( [Win32SDK基本] 窗口详解(超详细)地址:http://blog.csdn.net/zuishikonghuan/article/details/46378475)忘了写窗口操作函数和...

[Win32SDK基本] 模态窗口 和 多窗口

什么是模态窗口呢,想必大家都知道模态对话框和非模态对话框吧,模态窗口和模态对话框类似。假设我们需要在按钮单击时创建一个新窗口,如果只是在按钮单击消息里CreateWindow(Ex)一个新窗口,那么这...

Win32SDK基本 RC资源的使用

本文由CSDN用户zuishikonghuan所作,转载请注明出处 一,图标 上一篇博文“[Win32SDK基本] 窗口详解(超详细)"中(地址:http://blog.csdn.net/zuish...

[Win32SDK基本]GetWindowRect/GetClientRect

GetWindowRect/GetClientRect 获取窗口矩形/获取窗口客户区矩形 函数原型为:BOOL WINAPI GetWindowRect( _In_ HWND hWnd, ...

[Win32SDK基本]ListView Controls(2)Report (details) View 详解(续)

在上一篇”[Win32SDK基本]ListView Controls(1)Report (details) View 详解“中

[Win32SDK基本]ListView Controls(1)Report (details) View 详解

本文由CSDN用户zuishiko所作,转载请注明出处:http://blog.csdn.net/zuishikonghuan/article/details/46872885 老规矩,先上MSD...

[Win32SDK基本]Edit Control详解

对于Win32窗口控件也说了不少了,今天来说说编辑框 Edit Control控件。 MSDN:https://msdn.microsoft.com/en-us/library/windows/des...

[Win32SDK基本]Button Control(1)Push Button 和 BM_SETIMAGE

上两篇中介绍了Static Control,这几篇来介绍一下Button Control Button Control有很多类型,下图中展示了这一点(图片来自MSDN:https://msdn.mic...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Win32SDK基本]开启UI系统风格
举报原因:
原因补充:

(最多只允许输入30个字)