Funktioniert schon ansatzweise und ich kann nur den DialogDesigner von Hex0r empfehlen, der in dem ganzen XML-Gebastel echt eine große Hilfe ist.
Wie dem auch sei, ich komme an einem Punkt nicht weiter, trotz Hilfe-Recherche (OpenXMLDialog) und Google-ist-dein-Freund.
Es geht darum, dass mein Testdialog bestimmte Komponenten einfach nicht anzeigt (z.B. Menü und Toolbox). Ich habe mir die Attribute angesehen, mit den Einstellungen rumgespielt, aber ich habe schlichtweg keinen Peil, was ich falsch mache.
Das gleiche habe ich mit der Scrollarea (ja, ja, ich und meine Scrollareas

Es ist nur ein Beispielprojekt, insofern wäre ich einfach dankbar, wenn mir jemand mit Ahnung von Dialogen mal eine Denkrichtung geben kann, was man tut, wenn ein Dialogteil nicht angezeigt wird. Das hat sicherlich eine ganz logische Ursache... wenn man nur darauf kommen würde...
Hier mein XML
Code: Alles auswählen
<dialogs>
<window flags='#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_ScreenCentered' text='Test' minwidth='400' minheight='200' width='900' height='600' name='Haupt' id='#Haupt'>
<menu height='30' width='100' id='#mnuHaupt'>
<submenu text='Datei' height='30' id='#mnuDatei'>
<menuitem text='Programm beenden' height='30' id='#mnuBeenden'/>
</submenu>
</menu>
<toolbar flags='#PB_ToolBar_Large' width='100' height='30' id='#tbHaupt'>
<toolbutton image='#ICON_BUCHUNG_NEU' tooltip='Eine neue Buchung erzeugen' id='#tbBuchungNeu'/>
<toolbutton image='#ICON_EINMALBUCHUNG_NEU' tooltip='Eine neue Einmalbuchung erzeugen' id='#tbEinmalbuchungNeu'/>
</toolbar>
<vbox expand='item:gridDatenbereich' id='#vbUeberschrift'>
<gridbox columns='4' colspacing='5' rowspacing='5' colexpand='yes' rowexpand='yes' height='50' id='#leisteUeberschrift'>
<buttonimage text='Vorher' name='btnMonatVorher' id='#btnMonatVorher'/>
<string colspan='2' name='AktuellerTermin' id='#strAktuellerTermin' onlostfocus='textChanged()'/>
<buttonimage text='Nachher' name='btnMonatNachher' id='#btnMonatNachher'/>
</gridbox>
<hbox id='#hbHauptbereich'>
<vbox id='#vbLinks'>
<text text='Links' name='text_1' id='#txtText1'/>
</vbox>
<scrollarea colspan='3' scrolling='vertical' innerwidth='500' invisible='yes' width='500' height='400' innerheight='5000' flags='#PB_ScrollArea_Raised' name='saBericht' id='#saBericht'>
<vbox id='#vbBericht'>
<text text='Monatsbericht April 2024' flags='#PB_Text_Center' height='30' name='MB_Ueberschrift' id='#MB_Ueberschrift'/>
<text text='Nächster Text' name='text_3'/>
<listicon height='100' name='listicon_1'/>
</vbox>
</scrollarea>
<vbox id='#vbRechts'>
<text text='Rechts' name='text_2' id='#txtText2'/>
</vbox>
</hbox>
</vbox>
</window>
</dialogs>
Code: Alles auswählen
#Dialog = 1
#XML = 1
Runtime Enumeration Fenster
#Haupt
EndEnumeration
Runtime Enumeration Icons
#ICON_BUCHUNG_NEU
#ICON_EINMALBUCHUNG_NEU
EndEnumeration
Runtime Enumeration Menue
#mnuHaupt
#mnuDatei
#mnuBeenden
#tbHaupt
#tbBuchungNeu
#tbEinmalbuchungNeu
EndEnumeration
Runtime Enumeration Gadgets
#vbUeberschrift
#leisteUeberschrift
#btnMonatVorher
#strAktuellerTermin
#btnMonatNachher
#hbHauptbereich
#vbLinks
#txtText1
#saBericht
#vbBericht
#MB_Ueberschrift
#vbRechts
#txtText2
EndEnumeration
Runtime Procedure textChanged()
Debug "Text wurde geändert"
EndProcedure
LoadImage(#ICON_BUCHUNG_NEU, "Dauerbuchung.png")
LoadImage(#ICON_EINMALBUCHUNG_NEU, "Einmalbuchung.png")
If LoadXML(#XML, "frmHaupt.xml") And XMLStatus(#XML) = #PB_XML_Success
If CreateDialog(#Dialog)
If OpenXMLDialog(#Dialog, #XML, "Haupt")
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
Else
Debug "Dialog error: " + DialogError(#Dialog)
EndIf
EndIf
Else
Debug "XML error: " + XMLError(#Xml) + " (Line: " + XMLErrorLine(#Xml) + ")"
EndIf