Skip to content
⌘ NSIS Forum Archive

Create Full Blank Custom Page and Access to all form for add controller

6 posts

r2du-soft#

Create Full Blank Custom Page and Access to all form for add controller

.


01-this is a custom page installer:






02-we have access to this part of installer form to add controller to the form:






3-i tryed but just can hide green controllers, i cant hide Red controllers:






04-i want hide all controller in form sample this (Picture Edited By Photoshop and remove controllers):






05-and access to all of the installer form and finally add the controller in installer (use all form)





now i dont know how can do this!
i just can hide green controllers with:
GetDlgItem $R0 $HWNDPARENT 1
ShowWindow $R0 ${SW_HIDE}

GetDlgItem $R0 $HWNDPARENT 2
ShowWindow $R0 ${SW_HIDE}

GetDlgItem $R0 $HWNDPARENT 3
ShowWindow $R0 ${SW_HIDE}
other controllers can't be hide...
also i want access to all form (gui) and add textbox on top of form (gui),but we have limet access width and height...



.
Anders#
If you don't want the MUI design with the white area on top, simply use/create another UI .exe file with Resource Hacker instead.

You could technically pull this off on a MUI page but it is extra work, you need to resize the inner dialog if you are using nsDialogs/IbstallOptions.

You can use WinSpy++ to find the id of the other child controls.
r2du-soft#
.

thanks for help
now i found controllers id and hide all that's:

!include MUI2.nsh

Page Custom MyPageCreate
!insertmacro MUI_LANGUAGE "English"

Function MyPageCreate
nsDialogs::Create 1044
Pop $0
;----------
${If} $0 == error
Abort
${EndIf}
;----------

;----------
${NSD_CreateText} 5u 5u 70% 7% "" #LEFT_Right	#Up_Down	#height		#width
Pop $0 #Controller HWND
;----------

;----------
${NSD_CreateText} 20u 40u 70% 7% "" #LEFT_Right	#Up_Down	#height		#width
Pop $0 #Controller HWND
;----------

;-----------------
#Button
GetDlgItem $R0 $HWNDPARENT 1
ShowWindow $R0 ${SW_HIDE}
GetDlgItem $R0 $HWNDPARENT 2
ShowWindow $R0 ${SW_HIDE}
GetDlgItem $R0 $HWNDPARENT 3
ShowWindow $R0 ${SW_HIDE}
;-----------------

;-----------------
#Header
GetDlgItem $R0 $HWNDPARENT 1034
ShowWindow $R0 ${SW_HIDE}
GetDlgItem $R0 $HWNDPARENT 1036
ShowWindow $R0 ${SW_HIDE}
GetDlgItem $R0 $HWNDPARENT 1037
ShowWindow $R0 ${SW_HIDE}
GetDlgItem $R0 $HWNDPARENT 1038
ShowWindow $R0 ${SW_HIDE}
GetDlgItem $R0 $HWNDPARENT 1039
ShowWindow $R0 ${SW_HIDE}
;-----------------

;-----------------
#Footer
GetDlgItem $R0 $HWNDPARENT 1028
ShowWindow $R0 ${SW_HIDE}
GetDlgItem $R0 $HWNDPARENT 1256
ShowWindow $R0 ${SW_HIDE}
GetDlgItem $R0 $HWNDPARENT 1035
ShowWindow $R0 ${SW_HIDE}
;-----------------

nsDialogs::Show
FunctionEnd


Section
SectionEnd
also now i change:

nsDialogs::Create 1018
To

nsDialogs::Create 1044
this is give bigger access!

i can add controller to Black frame:




but green frame still useless and can't add controller in that part..




i think that's because there place buttons (next,back,Cancel)
Other than changing the program with Resourcers,What other method for use from this part (green part) There is?


.
Anders#
Resize the inner dialog before you call nsDialogs, something like
System::Call 'USER32::MoveWindow(p$hwndInner,i0,i0,i9999,i9999,i1)' 
r2du-soft#
Originally Posted by Anders View Post
Resize the inner dialog before you call nsDialogs, something like
System::Call 'USER32::MoveWindow(p$hwndInner,i0,i0,i9999,i9999,i1)' 
yes but there is the problem!
black frame haven't any id!
i how can give that frame $HWNDPARENT without id?

Attachments

Anders#
The mouse finder is not the best way. Anyway, you know the id because you are passing it to nsDialogs::Create