2014-02-28 50 views
0

我想更改NSIS中外部對話框窗口的顏色。我用NSDialogs創建了頁面。更改外部對話框窗口的顏色

我最近改變這種使用 系統的大小::呼叫 'USER32 :: SetWindowPos(I $ hwndparent,我,我,我,我629,我400,我0x16)'

有相似改變這個外部對話窗口邊框/標題欄顏色的方法?

+0

我試過使用SendMessage $ HWNDPARENT $ {WM_SETBKCOLOR} 0 0x000000但是這不起作用! – Kash

+0

我猜編譯器給你一個警告,WM_SETBKCOLOR不存在,因爲..好吧,它不存在... – Anders

回答

0

您可以SetCtlColors改變內部和外部的對話框:

Function myPageCreate 
nsDialogs::Create 1018 
Pop $0 
SetCtlColors $hwndparent 000000 ccff00 
SetCtlColors $0 000000 ff00cc 
nsDialogs::Show 
FunctionEnd 

要改變非客戶端領域,如標題欄,你需要使用3rd-party plugin邊界。我個人認爲這不是一個好主意,但如果你想強迫你的用戶使用這些東西,你可能會發現幾個不同的NSIS皮膚插件...

+0

謝謝安德斯我會試試這個。 – Kash

+0

我們可以使用System :: Call'user32 :: GetSysColor(10)System :: Call'user32 :: SetSysColor() – Kash