Für die Menüstruktur meiner Programme nutzte ich bisher die 'exbar.pbi' von LuckyLuke. (Links Outlookbarmäßig die Menüs und rechts dann die 'Inhalte')
Bis PB 4.2 habe ich dazu ein (1!) Fenster erstellt (hMainWindow = OpenWindow( #spma_Main_Window, 100, 100... ) und in diesem Fenster jedesmal zu jedem Menüpunkt ein CreateGadgetList/CloseGadgetList erstellt.
Mit einer Funktion CloseAllGadgets() habe ich dann immer alle nicht benötigten Gadgets geschlossen und wieder mit IF CreateGadgetList das entsprechende 'Fenster' neu aufgebaut.
Hauptfenster:
Code: Alles auswählen
; hwnd
hMainWindow = OpenWindow( #spma_Main_Window, 100, 100, 700, 400, "Programmtitel - Konfiguration", #PB_Window_SizeGadget | #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
Code: Alles auswählen
Case 2
Select msgSubItem
Case 1
CloseAllGadgets()
spma_24x7_HDD()
Case 2
CloseAllGadgets()
spma_In_Arbeit()
...
Code: Alles auswählen
Procedure CloseAllGadgets()
If IsGadget( #container_wStatus ) <> 0
HideGadget(#container_wStatus, 1)
EndIf
If IsGadget( #container_wEmailConfig ) <> 0
HideGadget(#container_wEmailConfig, 1)
EndIf
.....
Code: Alles auswählen
Procedure spma_In_Arbeit()
; -------------------------------------------------------------------------
; PureFORM
; -------------------------------------------------------------------------
If CreateGadgetList( WindowID( #spma_Main_Window ) )
ContainerGadget(#container_wInArbeit, 225, 0, 470, 350, #PB_Container_BorderLess )
Frame3DGadget(#wInArbeit_Frame3D_1, 5, 5, 460, 340, "In Arbeit")
TextGadget(#wInArbeit_Text_1, 95, 120, 290, 30, "Dieses Modul ist in Arbeit und wird in einer der nächsten Versionen enthalten sein.", #PB_Text_Center)
CloseGadgetList()
EndIf
EndProcedure
Nun benötigt man in PB 4.3 das CreateGadgetList() nicht mehr.
Aber damit wird meine ganze Programmlogik umgeworfen. (Glaube ich zumindest).
Nun meine Frage(n):
- Wie baut man denn grundsätzliche eine solche Fensterapplikation auf?
Mit ContainerGadget()? oder mit UseGadgetList()?
- Kennt jemand ein 'gutes' Grundgerüst für eine solche Applikation.
Die ganzen Beispiele/Grundgerüste die ich im Forum gefunden habe erzeugen immer 'neue' Windows und in diesen werden dann 'neue' Gadgets erstellt.
z.B: http://www.purebasic.fr/german/viewtopic.php?t=20152
(Da exbar.pbi unter PB 4.3 nicht mehr läuft zukünftig vermutlich mit der nxExplorerBar von Stephen Rodriguez)
Danke im Voraus
Kaltstart