作者共發了23篇帖子。
【教程】讓Win32程序擁有XP風格控件
1樓 巨大八爪鱼 2015-4-4 12:44
在Visual Studio中,默認創建的Win32 Project的對話框中,控件是Windows 2000風格的,很難看。


本教程主要討論如何讓Win32程序的控件擁有XP風格。最終效果如圖:

(說實話我也不知道對話框中為何多出了一個α的圖標。。。)
2樓 巨大八爪鱼 2015-4-4 12:46
【第一步】
打開Win32Project1.cpp文件(新建的工程貌似只有一個cpp文件),在這個文件的頭部加上:
#pragma comment (lib, "comctl32.lib")
#include "commctrl.h"

其中最後一個也可以寫成#include <commctrl.h>
3樓 巨大八爪鱼 2015-4-4 12:48
找到InitInstance函數,在函數中加入
InitCommonControls();
如圖:

那個注釋是我加上的= =
//Make sure this is here so you can use XP Styles
這個可以不加的。
4樓 巨大八爪鱼 2015-4-4 13:17
【第二步】
打開Win32Project1.rc文件

新建一個資源
5樓 巨大八爪鱼 2015-4-4 13:21
點Custom按鈕

輸入24,然後點OK
6樓 巨大八爪鱼 2015-4-4 13:22
在新建的空白文件中,粘貼如下內容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) Microsoft Corporation -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    name="Microsoft.Windows.Shell.notepad"
    processorArchitecture="amd64"
    version="5.1.0.0"
    type="win32"/>
<description>Windows Shell</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="*"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
        <requestedPrivileges>
            <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
        </requestedPrivileges>
    </security>
</trustInfo>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
        <dpiAware  xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    </windowsSettings>
</application>
</assembly>


7樓 巨大八爪鱼 2015-4-4 13:24

然後在右下角的Properties(屬性)模塊中,把ID改成1,把Filename改成“工程名.manifest”,如:Win32Project1.manifest
8樓 巨大八爪鱼 2015-4-4 13:28
回復:7樓
注意:
這一步是先點擊了(6樓所示截圖)剛才新建的那個資源的內容區域,使光標落在那個區域之後,再到Properties(屬性)模塊中修改屬性值。

當然也可以 選中 Resource View中的RT_MANIFEST(或24)下新建的資源,再在屬性模塊中改。反正目的是要把文件名改成“工程名.manifest”,資源名稱改成1

9樓 巨大八爪鱼 2015-4-4 13:28
然後運行程序就行了。
10樓 巨大八爪鱼 2015-4-4 13:30

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2024 Arslanbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。