Problem mit MDI
Verfasst: 25.02.2006 15:00
ich will ein programm schreiben welches ein MDIGadget benutzt und in dem ich mehrere (x beliebige) kleine MDI Fenster anzeigen lassen kann!
Bie Programmstart soll jedoch erst nur ein MDI Fenster sichtbar sein und der Benutzer soll über das Menü jederzeit sagen können, ob er ein weiteres "neues" fenster haben will, oder das aktuelle Fenster schliesen will" !! Alle Fenster sollen erstmal von der GUI her gleich aussehen aber jedes für sich unabhängig vom anderen sein!?
Wie kann ich so etwas realiesieren? Mit Strukturen? Da ich noch nie wirklich mit strukturen und noch nie mit MDI gearbeitet habe, wäre ich über HILFE sehr dankbar! Wäre auch schön zu wissen, wie ich später erfahren kann, welches MDI Fenster aktiv ist und in welchem MDI Fenster evtl. ein button gedrückt wurde! Schonmal vielen Dank!
Bie Programmstart soll jedoch erst nur ein MDI Fenster sichtbar sein und der Benutzer soll über das Menü jederzeit sagen können, ob er ein weiteres "neues" fenster haben will, oder das aktuelle Fenster schliesen will" !! Alle Fenster sollen erstmal von der GUI her gleich aussehen aber jedes für sich unabhängig vom anderen sein!?
Wie kann ich so etwas realiesieren? Mit Strukturen? Da ich noch nie wirklich mit strukturen und noch nie mit MDI gearbeitet habe, wäre ich über HILFE sehr dankbar! Wäre auch schön zu wissen, wie ich später erfahren kann, welches MDI Fenster aktiv ist und in welchem MDI Fenster evtl. ein button gedrückt wurde! Schonmal vielen Dank!
Code: Alles auswählen
#Main = 0
#MDIChild = 1
If OpenWindow(#Main, 0, 0, 400, 300, #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget,"MDIGadget")
If CreateGadgetList(WindowID(#Main)) And CreateMenu(#Main, WindowID(#Main))
MenuTitle("How to do?")
MenuItem(0, "new child window")
MenuItem(1, "close child window")
MenuItem(1, "close all windows")
MDIGadget(0, 0, 0, 0, 0, 1, 2, #PB_MDI_AutoSize)
AddGadgetItem(0, #MDIChild, "child window")
CreateGadgetList(WindowID(#MDIChild))
ButtonGadget(20,40,40,180,80,"Test MDI Child 1")
ButtonGadget(20,40,40,180,80,"Test MDI Child 1")
UseGadgetList(WindowID(#Main)) ; go back to the main window gadgetlist
EndIf
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf