Page tree
Skip to end of metadata
Go to start of metadata

A UserDialog is described by a Begin Dialog...End Dialog block. To graphically add a UserDialog place the current selection in the code where you want the dialog and select Insert > UserForm from the Scripting Development Environment.  

The following will display:

Use the controls on the left to add items to design your form.  Hover your mouse over each item to understand what they are for.   When you are done, close the dialog and the code for the form will be inserted into your script. 

To graphically edit a UserDialog place the current selection in a UserDialog block and select Insert > UserForm from the Scripting Development Environment.  The dialog will open to edit the previously created form.   

The following code is an OK and Cancel button.   

Begin Dialog UserDialog 400,203 ' %GRID:10,7,1,1
		OKButton 50,161,90,21
		CancelButton 210,161,90,21
	End Dialog
	Dim dlg As UserDialog
	Dialog dlg

When you have a cancel button, you need to return a value from the dialog to make decisions.  Below is the code changed to handle a cancel button press. 

' Code Module
Sub Main
	
	Begin Dialog UserDialog 400,203 ' %GRID:10,7,1,1
		OKButton 50,161,90,21
		CancelButton 210,161,90,21
	End Dialog
	Dim dlg As UserDialog
	rtn =Dialog(dlg)
	If rtn = 0 Then 'cancel pressed
		End
	End If

After adding a control, double-click to edit properties for each control.  The example below is a text field in a dialog. 

 

There are options for the dialog itself.  You double click anywhere in the editor not on a control item.   

The Caption field will be the name of the dialog and the Dialog Function name is to reference an the function to do advanced dialog controls.   

The example below shows both fields entered. 

 

When closing the dialog with the Dialog Function field filled, you will get the prompt below.    You usually would click next and then the shell of the dialog function code will be added.   

 

 

With the form looking like below,

the code in the editor will be.  

' Code Module
Sub Main
	Begin Dialog UserDialog 400,203,"My Example Dialog",.examplefunction ' %GRID:10,7,1,1
		Text 30,21,270,28,"AWR Example Text",.Text1
		OKButton 30,105,90,21
		CancelButton 140,105,90,21
	End Dialog
	Dim dlg As UserDialog
	Dialog dlg

End Sub

Rem See DialogFunc help topic for more information.
Private Function examplefunction(DlgItem$, Action%, SuppValue&) As Boolean
	Select Case Action%
	Case 1 ' Dialog box initialization
	Case 2 ' Value changing or button pressed
		Rem examplefunction = True ' Prevent button press from closing the dialog box
	Case 3 ' TextBox or ComboBox text changed
	Case 4 ' Focus changed
	Case 5 ' Idle
		Rem Wait .1 : examplefunction = True ' Continue getting idle actions
	Case 6 ' Function key
	End Select
End Function

 

 

  • No labels