2011-05-31 45 views
0

我創建了一個模式對話框,這樣的Win32對話框按鈕樣式不是Windows 7的主題

IDD_FORMVIEW DIALOGEX 500, 200, 257, 98 
STYLE DS_ABSALIGN | DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU 

FONT 8, "MS Shell Dlg", 400, 0, 0x0 
BEGIN 
    LTEXT   "xxx",IDC_STATIC,31,32,194,16 
    PUSHBUTTON  "OK",IDOK,92,65,76,26 
END 

有沒有什麼辦法讓按鈕的Windows 7主題?鼠標懸停突出顯示的含義並不像現在那樣沉悶,導致它在.NET應用程序中被默認設置,但我無法在這裏看到它。

+0

你有沒有嵌入任何清單允許使用XP +主題選項? – Necrolis 2011-05-31 10:47:32

+0

[如何更改Win32 API應用程序中的控件主題?]的可能的重複(http://stackoverflow.com/questions/3524009/how-to-change-the-control-themes-in-a-win32-api應用程序) – 2011-05-31 12:03:29

+0

有了這樣的問題,包含描述開發環境的標籤(visual studio/mingw等)也是相關的,因爲解決方案可能因構建環境而異。 – 2011-05-31 12:05:27

回答

3

這是現存問題的明顯重複。微軟的規範答案是關於Enabling Visual Styles的MSDN文章。

基本上,您的應用程序需要有一個應用程序清單文件,它將Microsoft.Windows.Common-Controls 6.0.0.0程序集列爲dependentAssembly。