2013-05-18 18 views
0

我有一個讓我發瘋了一個問題的工作:我不能得到的的onClick工作,甚至沒有一個簡單的例子:NSIS - 的onClick並不

我已經閱讀NSIS的文件,一次又一次地問,但似乎有東西卡住(是的,我是新的NSIS)。

Function button_click 
    MessageBox MB_OK "Hi there!" 
FunctionEnd 

Function fnc_USB_drive_Create 
    ... 
    ${NSD_CreateButton} 12 74 121 30 "Button1" 
    Pop $hCtl_USB_drive_Button1 
    ${NSD_OnClick} $hCtl_USB_drive_Button1 button_click 
    ... 
FunctionEnd  

按鈕出現在屏幕上,但點擊它什麼都不做。這是我一直在努力的日子。我有Win7 SP1 64b,和NSIS + NSIS對話框設計器(所有最新版本)。我有Win7 SP1 64b,和NSIS + NSIS對話框設計器(最新版本的所有)。任何人有任何想法?

回答

1
page custom fnc_USB_drive_Create 
var hCtl_USB_drive_Button1 
!include nsDialogs.nsh 

Function fnc_USB_drive_Create 
    nsDialogs::Create 1018 
    pop $0 
    ${NSD_CreateButton} 12 74 121 30 "Button1" 
    Pop $hCtl_USB_drive_Button1 
    ${NSD_OnClick} $hCtl_USB_drive_Button1 button_click 
    nsDialogs::Show 
FunctionEnd  
Function button_click 
    MessageBox MB_OK "Hi there!" 
FunctionEnd 

適合我的工作,你有任何其他的代碼可能會搞亂對話?

+0

嗨安德斯,是的,我使用的NSIS對話設計器,因此現代MUI2.nsh而不是nsDialogs.nsh – JCM

+0

嗨安德斯!感謝,你一直是最有幫助的!看起來,NSIS對話框設計器在填寫onClick字段時,會創建一個空函數。所以你在正確的地方,onClick爲每個人工作(除了我)。 – JCM