Set Focus to a Control: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
m (Small spelling fix.) |
m (FF: use <highlight-nsis> instead of a list. Added "Page author" line.) |
||
Line 1: | Line 1: | ||
== Description == | == Description == | ||
'''Required:''' [[InstallOptions]] or [[InstallOptionsEx]] and [[System]] plugins. | |||
'''Required:''' [[InstallOptions]] and [[System]] plugins. | |||
This function sets focus to a control using InstallOptions. | This function sets focus to a control using InstallOptions. | ||
== Function Call == | == Function Call == | ||
<highlight-nsis> | |||
Push "Page.ini" ;Page .ini file where the field can be found. | |||
Push "Handle" ;Page handle you got when reserving the page. | |||
Push "Number" ;Field number to set focus. | |||
Call SetFocus | |||
</highlight-nsis> | |||
== Function Code == | == Function Code == | ||
<highlight-nsis> | |||
<highlight-nsis>;---------------------------------------------------------------------------- | ;---------------------------------------------------------------------------- | ||
; Title : Set focus to a control | ; Title : Set focus to a control | ||
; Short Name : SetFocus | ; Short Name : SetFocus | ||
Line 83: | Line 83: | ||
Pop $3 | Pop $3 | ||
FunctionEnd</highlight-nsis> | FunctionEnd | ||
</highlight-nsis> | |||
Page author: [[User:deguix|deguix]] |
Revision as of 20:10, 29 April 2005
Description
Required: InstallOptions or InstallOptionsEx and System plugins.
This function sets focus to a control using InstallOptions.
Function Call
Push "Page.ini" ;Page .ini file where the field can be found. Push "Handle" ;Page handle you got when reserving the page. Push "Number" ;Field number to set focus. Call SetFocus
Function Code
;---------------------------------------------------------------------------- ; Title : Set focus to a control ; Short Name : SetFocus ; Last Changed : 22/Feb/2005 ; Code Type : Function ; Code Sub-Type : One-way Input ;---------------------------------------------------------------------------- ; Required : InstallOptions and System plugins. ; Description : Sets focus to a control using InstallOptions. ;---------------------------------------------------------------------------- ; Function Call : Push "Page.ini" ; Page .ini file where the field can be found. ; ; Push "Handle" ; Page handle you got when reserving the page. ; ; Push "Number" ; Field number to set focus. ; ; Call SetFocus ;---------------------------------------------------------------------------- ; Author : Diego Pedroso ; Author Reg. Name : deguix ;---------------------------------------------------------------------------- Function SetFocus Exch $0 ; Control Number Exch Exch $2 ; Page Handle Exch Exch 2 Exch $3 ; Page INI File Exch 2 Push $1 Push $R0 Push $R1 Push $R2 Push $R3 Push $R4 Push $R5 IntOp $1 $0 + 1199 GetDlgItem $1 $2 $1 # Send WM_SETFOCUS message System::Call "user32::SetFocus(i r1, i 0x0007, i,i)i" ReadINIStr $R0 "$3" "Field $0" "Left" ReadINIStr $R1 "$3" "Field $0" "Right" ReadINIStr $R3 "$3" "Field $0" "Top" ReadINIStr $R4 "$3" "Field $0" "Bottom" IntOp $R2 $R1 - $R0 IntOp $R5 $R4 - $R3 System::Call "user32::CreateCaret(i r0, i, i R2, i R5)i" System::Call "user32::ShowCaret(i r0)i" Pop $R5 Pop $R4 Pop $R3 Pop $R2 Pop $R1 Pop $R0 Pop $1 Pop $0 Pop $2 Pop $3 FunctionEnd
Page author: deguix