Using the KillFocus Event
Description
The following script prompts the user for their name. It automatically capitalizes the first character of the name, and puts the rest of the name in lower case when the user exits from the control. It also formats the telephone number. When the user exits a control the killfocus event is generated. The event handling code for this script traps the killfocus event, and formats the text in the text box:
Result = ui_dlg_box("Name",<<%dlg% {region} Firstname:| [.30fname!fname_*]; Lastname:| [.30lname!lname_*]; Phone:| [.30phone!phone_*] {endregion}; {region} <*15&OK> <15&Cancel> {endregion}; %dlg%,<<%code% if a_dlg_button = "fname_killfocus" then a_dlg_button = "" fname = f_upper(fname) else if a_dlg_button = "lname_killfocus" then a_dlg_button = "" lname = f_upper(lname) else if a_dlg_button = "phone_killfocus" then a_dlg_button = "" phone2 = remspecial(phone) if lenphone2? = 10 then area_code = substr(phone2,1,3) prefix = substr(phone2,4,3) suffix = substr(phone2,7,4) phone = "("+area_code+") "+prefix+"-"+suffix else if lenphone2? = 7 then prefix = substr(phone2,1,3) suffix = substr(phone2,4,4) phone = prefix+"-"+suffix else 'it is not a phone number that we recognize, 'so, leave phone as is end if else if a_dlg_button = "&OK" .or. a_dlg_button = "&Cancel" then 'do nothing, dialog will close else 'the event has not been handled, so set a_dlg_button to "" to keep the dialog open a_dlg_button = "" end if %code%)
The script produces this dialog box:
Limitations
Desktop applications only
See Also