ich arbeite mich gerade an Dialogen ab. Mir geht es darum, sie zur Laufzeit dynamisch zu erweitern. Als Übungsdialog verwende ich das hier:
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<dialogs>
<window flags="#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget" width="300" height="300" name="window_1" xpos="0" ypos="0">
<scrollarea scrolling="vertical" innerheight="5000" name="scrollarea_1">
<vbox align="" expand="no" name="Datenbereich" id="99">
<button text="Button 1" name="button_1"/>
<text text="Ich bin der Text" name="text_1"/>
<hbox text="Ich bin die HBox">
<button text="Button 2" name="button_2"/>
<string text="Hier was eingeben" width="200" name="string_1"/>
</hbox>
<button text="Button 1" name="button_1Copy_7"/>
<button text="Button 1" name="button_1Copy_8"/>
<button text="Button 1" name="button_1Copy_9"/>
<button text="Button 1" name="button_1Copy_10"/>
<button text="Button 1" name="button_1Copy_11"/>
<button text="Button 1" name="button_1Copy_12"/>
<button text="Button 1" name="button_1Copy_13"/>
<button text="Button 1" name="button_1Copy_14"/>
<button text="Button 1" name="button_1Copy_15"/>
</vbox>
</scrollarea>
</window>
</dialogs><!--DDesign0R Definition: PureBasic|0|0|0||-|0-->
Ich habe es über XML-Manipulation versucht:
Code: Alles auswählen
#Dialog = 0
#Window = 0
#TreeGadget = 0
#Xml = 0
#Bereich = "99"
If LoadXML(#Xml, "E:\PureBasic\Testdialog.xml") And XMLStatus(#Xml) = #PB_XML_Success
CreateDialog(#Dialog)
If OpenXMLDialog(#Dialog, #Xml, "window_1", 300, 300)
;XML-test
Neuevbox = CreateXMLNode(XMLNodeFromID(#Xml, #Bereich), "vbox", -1)
SetXMLAttribute(Neuevbox, "name", "Daten1")
SetXMLAttribute(Neuevbox, "id", "101")
ersteZeile = CreateXMLNode(XMLNodeFromID(#Xml, "101"), "hbox", -1)
SetXMLAttribute(ersteZeile, "id", "102")
Daten = CreateXMLNode(XMLNodeFromID(#Xml, "102"), "Button", -1)
SetXMLAttribute(Daten, "text", "Daten 1")
RefreshDialog(#Dialog)
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
Else
Debug "Dialog creation error: " + DialogError(#Dialog)
EndIf
Else
Debug "XML error on line " + XMLErrorLine(#Xml) + ": " + XMLError(#Xml)
EndIf
Besten Dank und habt einen schönen Resttag
Qnode