texto son para los link formularios formulario elementos ejemplos ejemplo cuales crear codigo cajas botones boton button installer custom-controls nsis mui

button - son - ejemplos de formularios en html y css



llenar el cuadro de texto del directorio al hacer clic en el instalador de MUI NSI, usando el complemento ButtonEvent (1)

No dijiste qué versión de MUI estás usando, esta macro debería manejar ambos ...

!macro SetDirPageInstallDir text !if "${MUI_SYSVERSION}" < "2.0" Push $0 FindWindow $0 "#32770" "" $HWNDPARENT GetDlgItem $0 $0 0x3FB SendMessage $0 ${WM_SETTEXT} 0 "STR:${text}" Pop $0 !else SendMessage $mui.DirectoryPage.Directory ${WM_SETTEXT} 0 "STR:${text}" !endif !macroend ;In buttonclicked handler !insertmacro SetDirPageInstallDir "$programfiles/Hello World"

He agregado un botón personalizado usando Resource Hacker en la página de directorio de MUI del instalador, ahora quiero que cuando se haga clic en el botón, el cuadro de texto predeterminado donde el usuario ingrese el directorio de instalación (la ruta donde está instalada la aplicación) esté lleno de algunos texto especificado. por favor ayúdame con el código?

Estoy usando el plug-in ButtonEvent, pero no sé qué código escribir en el controlador de eventos. Actualmente, solo estoy mostrando un cuadro de mensaje cuando se hace clic en el botón para garantizar que el evento esté funcionando. Por favor ayuda.

!define IDC_BUTTON_SETPATH 1200 (1200 is the ID OF THE BUTTON ADDED from Resource hacker) ;Pages !insertmacro MUI_PAGE_WELCOME !define MUI_PAGE_CUSTOMFUNCTION_SHOW DirectoryShow !define MUI_PAGE_CUSTOMFUNCTION_LEAVE DirectoryLeave !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH ;-------------------------------- Function buttonclicked MessageBox MB_OK|MB_ICONEXCLAMATION "You Clicked Me " Abort FunctionEnd # Occurs on installer UI initialization. Function myGuiInit # Create event handler for our parent window button. GetFunctionAddress $R3 buttonclicked ButtonEvent::AddEventHandler ${IDC_BUTTON_SETPATH} $R3 FunctionEnd

------------------------ NUEVA PARTE EDITADA-- ​​CÓDIGO PARA TRES BOTONES PERSONALIZADOS ---------------- ---

!include MUI2.nsh ; -------------------------------------------------- !define IDC_BUTTON_CDRIVEPATH 1200 !define IDC_BUTTON_DDRIVEPATH 1201 !define IDC_BUTTON_EDRIVEPATH 1202 ; -------------------------------------------------- # The event handler for our parent button is added in MyGUIInit. !define MUI_CUSTOMFUNCTION_GUIINIT myGuiInit !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_BITMAP "${NSISDIR}/Contrib/Graphics/Header/pksicon.bmp" ; optional !define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}/Contrib/Graphics/Wizard/pksleftimage.bmp" ; ;-------------------------------- XPStyle on ;Interface Settings !define MUI_ABORTWARNING ;-------------------------------- ;Pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "${NSISDIR}/Docs/Modern UI/licensefile.txt" !define MUI_PAGE_CUSTOMFUNCTION_SHOW DirectoryShow !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH ; -------------------------------------------------- ; Languages. !insertmacro MUI_LANGUAGE English ; -------------------------------------------------- !macro SetDirPageInstallDir text !if "${MUI_SYSVERSION}" < "2.0" Push $0 FindWindow $0 "#32770" "" $HWNDPARENT GetDlgItem $0 $0 0x3FB SendMessage $0 ${WM_SETTEXT} 0 "STR:${text}" Pop $0 !else SendMessage $mui.DirectoryPage.Directory ${WM_SETTEXT} 0 "STR:${text}" !endif !macroend # Called when the CDRIVEPATH button is pressed. Function CDRIVEPATH MessageBox MB_OK|MB_ICONEXCLAMATION "The Software will be installed in : C:/ " ;In buttonclicked handler !insertmacro SetDirPageInstallDir "C:/" FunctionEnd ;-------------------------------- Function DDRIVEPATH MessageBox MB_OK|MB_ICONEXCLAMATION "The Software will be installed in : D:/ " ;In buttonclicked handler !insertmacro SetDirPageInstallDir "D:/" FunctionEnd ;-------------------------------- Function EDRIVEPATH MessageBox MB_OK|MB_ICONEXCLAMATION "The Software will be installed in : E:/ " ;In buttonclicked handler !insertmacro SetDirPageInstallDir "E:/" FunctionEnd ;-------------------------------- InstallDir $INSTDIR # Occurs on installer UI initialization. Function myGuiInit # Create event handler for our parent window button. GetFunctionAddress $R0 CDRIVEPATH ButtonEvent::AddEventHandler ${IDC_BUTTON_CDRIVEPATH} $R0 ; GetFunctionAddress $R1 EDRIVEPATH **-----this line causes error** ; ButtonEvent::AddEventHandler ${IDC_BUTTON_DDRIVEPATH} $R1 -----this line causes error ; GetFunctionAddress $R2 EDRIVEPATH **-----this line causes error** ; ButtonEvent::AddEventHandler ${IDC_BUTTON_EDRIVEPATH} $R2 -----this line causes error FunctionEnd ;------------------------------------------------ # Occurs on Directory page show. Function DirectoryShow # Create event handler for our Directory page button. /NOTIFY makes # the button move to the next page when clicked. ButtonEvent::AddEventHandler ${IDC_BUTTON_CDRIVEPATH} ButtonEvent::AddEventHandler ${IDC_BUTTON_DDRIVEPATH} ButtonEvent::AddEventHandler ${IDC_BUTTON_EDRIVEPATH} # Disable next button. GetDlgItem $R0 $HWNDPARENT 1 EnableWindow $R0 0 FunctionEnd ; -------------------------------------------------- ;General ;Name and file Name NEW_FILL_TEXTBOX_BUTTONCLICK OutFile NEW_FILL_TEXTBOX_BUTTONCLICK.exe Section DetailPrint "SUCCESSFULLY INSTALLED" SectionEnd