by Richard Russell, May 2010
If you want to initialise a dialogue box so that the input focus is on a particular control, simply make that control the first in the template (i.e. the first to be created after calling FN_newdialog). By default the first control always gains the initial focus.
However if you want to move the input focus to a different control, once the dialogue box has been opened, you should do that using the following code:
WM_NEXTDLGCTL = 40 SYS "GetDlgItem", !dlg%, id% TO hdlgctl% SYS "PostMessage", !dlg%, WM_NEXTDLGCTL, hdlgctl%, 1
where dlg% is the value returned from FN_newdialog and id% is the ID of the control that you want to receive the input focus.