DialogFunc Prototype
Syntax
Function dialogfunc(DlgItem$,
Action%, SuppValue%)
_
As Boolean
Select Case Action%
Case 1 ' Dialog box initialization
...
Case 2 ' Value changing or button pressed
...
Case 3 ' TextBox or ComboBox text changed
...
Case 4 ' Focus changed
...
Case 5 ' Idle
...
Case 6 ' Function key
...
End Select
End Function
Group
Description
A dialogfunc implements the dynamic dialog capabilities.
Parameter | Description |
---|---|
DlgItem | This string value is the name of the User Profile dialog item's field. |
Action | This numeric value indicates what action the dialog function is being asked to do. |
SuppValue | This numeric value provides additional information for some actions. |
Action/Description
- Dialog box initialization. DlgItem is a null string. SuppValue is the dialog's window handle. Set dialogfunc = True to terminate the dialog.
- CheckBox,
DropListBox, ListBox, MultiListBox, or OptionGroup: DlgItem's value has changed. SuppValue
is the new value.
CancelButton, OKButton or PushButton: DlgItem's button was pushed. SuppValue is meaningless. Set dialogfunc = True to prevent the dialog from closing. - ComboBox or TextBox: DlgItem's text changed and losing focus. SuppValue is the number of characters.
- Item DlgItem is gaining focus. SuppValue is the item that is losing focus. (The first item is 0, second is 1, etc.)
- Idle processing. DlgItem is a null string. SuppValue is zero. Set dialogfunc = True to continue receiving idle actions.
- Function key (F1-F24) was pressed. DlgItem
has the focus. SuppValue is the function
key number and the shift/control/alt key state.
Regular function keys range from 1 to 24.
Shift function keys have &H100 added.
Control function keys have &H200 added.
Alt function keys have &H400 added.
(Alt-F4 closes the dialog and is never passed to the Dialog Function.)
See Also: Begin Dialog.
Example
Sub Main
Begin Dialog UserDialog
200,120,.DialogFunc
Text 10,10,180,15,"Please push the OK button"
TextBox 10,40,180,15,.Text
OKButton 30,90,60,20
PushButton 110,90,60,20,"&Hello"
End Dialog
Dim dlg As UserDialog
Debug.Print Dialog(dlg)
End Sub
Function DialogFunc%(DlgItem$, Action%, SuppValue%)
Debug.Print "Action=";Action%
Debug.Print DlgItem$;"=""";DlgText$(DlgItem$);""""
Debug.Print "SuppValue=";SuppValue%
Select Case Action%
Case 1 ' Dialog box initialization
Beep
Case 2 ' Value changing or button pressed
If DlgItem$ = "Hello" Then
MsgBox "Hello"
DialogFunc% = True 'do not exit the dialog
End If
Case 4 ' Focus changed
Debug.Print "DlgFocus=""";DlgFocus();""""
Case 6 ' Function key
If SuppValue And &H100 Then Debug.Print "Shift-";
If SuppValue And &H200 Then Debug.Print "Ctrl-";
If SuppValue And &H400 Then Debug.Print "Alt-";
Debug.Print "F" &
(SuppValue And &HFF)
End Select
End Function