I often give dialog examples like this:
Function Dialog35
It may be not clear how to use it. Here are the explanations:
Create new function. Its name must be the same as used with the ShowDialog function in the example (in this case - Dialog35). Copy the code from the forum and paste in QM using menu Edit -> Other Formats -> Paste Escaped (in QM 2.3.0 and later - simply paste, and click 'Correct...' if it appears in the output).
If you need the function to have other name, give it any name and replace function name in the code. For example, if your function is MyDialog, use this:
if(!ShowDialog("MyDialog" &MyDialog &controls)) ret
Now, when you run the function using the Run button, it shows the dialog. If you need to show the dialog from other macro or function, cut the code that shows the dialog and paste there.
Also, to make the dialog easily editable with the Dialog Editor, insert space or semicolon before \ in the first line. Then, when you run the function using the Run button, it opens the dialog in the Dialog Editor.
Example:
Function Dialog35:
Another macro or function where you want to put code that shows the dialog:
Function Dialog35
\Dialog_Editor
function# hDlg message wParam lParam
if(hDlg) goto messages
str controls = "3"
str e3
if(!ShowDialog("Dialog35" &Dialog35 &controls)) ret
;BEGIN DIALOG
;0 "" 0x90C80A44 0x100 0 0 223 135 "Dialog"
;1 Button 0x54030001 0x4 120 116 48 14 "OK"
;2 Button 0x54030000 0x4 170 116 48 14 "Cancel"
;3 Edit 0x54030080 0x200 6 10 96 14 ""
;END DIALOG
;DIALOG EDITOR: "" 0x202000B "" ""
ret
;messages
sel message
,case WM_INITDIALOG
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1
It may be not clear how to use it. Here are the explanations:
Create new function. Its name must be the same as used with the ShowDialog function in the example (in this case - Dialog35). Copy the code from the forum and paste in QM using menu Edit -> Other Formats -> Paste Escaped (in QM 2.3.0 and later - simply paste, and click 'Correct...' if it appears in the output).
If you need the function to have other name, give it any name and replace function name in the code. For example, if your function is MyDialog, use this:
if(!ShowDialog("MyDialog" &MyDialog &controls)) ret
Now, when you run the function using the Run button, it shows the dialog. If you need to show the dialog from other macro or function, cut the code that shows the dialog and paste there.
Also, to make the dialog easily editable with the Dialog Editor, insert space or semicolon before \ in the first line. Then, when you run the function using the Run button, it opens the dialog in the Dialog Editor.
Example:
Function Dialog35:
;\Dialog_Editor
function# hDlg message wParam lParam
if(hDlg) goto messages
;BEGIN DIALOG
;0 "" 0x90C80A44 0x100 0 0 223 135 "Dialog"
;1 Button 0x54030001 0x4 120 116 48 14 "OK"
;2 Button 0x54030000 0x4 170 116 48 14 "Cancel"
;3 Edit 0x54030080 0x200 6 10 96 14 ""
;END DIALOG
;DIALOG EDITOR: "" 0x202000B "" ""
ret
;messages
sel message
,case WM_INITDIALOG
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1
Another macro or function where you want to put code that shows the dialog: