MFC如何配置使用Win7風格的控件而不是XP風格控件

你是否是遇到過MFC控件在項目中樣式是win7風格,運行exe程序又變成了比較古老的XP風格?想要修改控件樣式,首先得知道影響界面樣式的緣由。工具

影響界面控件風格的因素是:VS項目使用的字符集會影響使用的界面控件的版本,從而影響界面效果。spa

Unicode版會自動嵌入Win7風格的控件,多字節版則不會嵌入Win7風格控件,而是使用很老風格的控件。而不一樣的字符集默認狀況下會決定使用的控件版本。debug

所以,將界面樣式修改的最簡單粗暴的方式就是修改字符集。將多字節改成Unicode版本。code

可是,有些程序將多字節改成Unicode版本會報錯,改錯將是很麻煩的事情,那這樣就沒辦法了嗎?xml

http://www.cjjjs.com/paper/xmkf/201661205622573.aspx這篇文章的做者給咱們提供瞭解決方案。blog

總結出的解決步驟是:it

一、點擊VS項目的配置屬性-》清單工具。將嵌入清單改成否,運行程序。發如今程序debug目錄下,會生成manifest配置文件,其名稱爲:項目名.exe.manifest。io

二、打開manifest配置文件,在以下代碼位置添加<dependency> 和</dependency> 之間的代碼。asm

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

三、從新編譯運行便可。編譯

注意:將嵌入清單改成否以後,此時manifest配置文件是不內嵌的,因此在運行的時候,使用要和exe一塊兒,不能缺乏。這樣也就不方便了。所以,可將編譯生成的:項目名.exe.manifest文件放入源程序目錄,並將該配置文件名稱放入清單工具的附加清單文件下,嵌入清單改成是。便可,

相關文章
相關標籤/搜索