Posts: 1,058
Threads: 367
Joined: Oct 2007
Suppose that a dialog (main dialog) launches several several sub-dialogs through relevant functions. Is it possible to assign a class to these sub-dialogs with the purpose to close them all-together when the main dialog is closed?
Many thanks in advance.
PS : I am aware of topic
http://www.quickmacros.com/forum/showthr...4#pid23854
Posts: 12,074
Threads: 141
Joined: Dec 2002
Main dialog:
ARRAY(int)- t_a
...
t_a[]=newDialogHandle
t_a[]=newDialogHandle
...
case WM_DESTROY
for(i 0 t_a.len) if(IsWindow(t_a[i])) clo t_a[i]
Posts: 12,074
Threads: 141
Joined: Dec 2002
Quote:Is it possible to assign a class
It is possible to create dialogs with class name other than #32770. You can specify it in dialog definition, like "MyDialogClass" in this example. Note that Dialog Editor removes it when saving. Little tested.
Function
Dialog166
\Dialog_Editor
__RegisterWindowClass+ __MyDialogClass; if(!__MyDialogClass.atom) __MyDialogClass.Superclass("#32770" "MyDialogClass" &DefDlgProcW)
str dd=
;BEGIN DIALOG
;1 "MyDialogClass" 0x90C80AC8 0x0 0 0 224 136 "Dialog"
;1 Button 0x54030001 0x4 116 116 48 14 "OK"
;2 Button 0x54030000 0x4 168 116 48 14 "Cancel"
;END DIALOG
;DIALOG EDITOR: "" 0 "*" "" "" ""
if(!ShowDialog(dd &sub.DlgProc 0)) ret
#sub DlgProc
function# hDlg message wParam lParam
sel message
,case WM_INITDIALOG
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1
___________________________________
2015-05-29: replaced DefDlgProc to DefDlgProcW.
Posts: 1,058
Threads: 367
Joined: Oct 2007
Excellent solutions. Thank you very much indeed.
Posts: 1,058
Threads: 367
Joined: Oct 2007
Dear Gintaras,
I understand that apart the two methods proposed by you above, it still exists the method proposed also by you in the above link, namely :
http://www.quickmacros.com/forum/showthr...4#pid23854
I would appreciate it if you could kindly comment on the two methods (ARRAY(int) ... against SetProp . Do you think there exist advantages and disandvantages? I have tested them both and they work satisfactorily.
Many thanks in advance.
Posts: 12,074
Threads: 141
Joined: Dec 2002
Both methods are good. In some cases SetProp/GetProp/RemoveProp is easier, in some cases array.