Fragen zu Fenster und HexORs DialogDesignor

Für allgemeine Fragen zur Programmierung mit PureBasic.
MenschMarkus
Beiträge: 227
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: Fragen zu Fenster und HexORs DialogDesignor

Beitrag von MenschMarkus »

@HeXOR: Statusrückmeldung
- Das mit dem 80:20 Höhenverhältnist hab ich jetzt auch verstanden. Das funktioniert bei VBox mit Item: (ich wusste erst nicht von welchen Items gesprochen wurde, aber jetzt ist klar)
- Fenster erzeugen mit Dialog hab ich jetzt auch verstanden und funktioniert. Danke für das Beispiel. (Hab jetzt auch die Hilfe in PB gefunden)
HeXOR hat geschrieben:DD erstellt (optional) noch eine *.pbi Datei, die Du direkt als Source einbinden kannst
habe ich im DesignOR leider nicht gefunden. Kannst Du mir sagen wo ich das finde bzw wie ich die pbi erzeugen kann?

OK hier auch mal ein Ergänzungsvorschlag.
Zum direkten Ansprechen von Gadgets benötigt mn ja eine Gadget ID. Prima wäre, wenn eine pb Datei erzeugt wird in der:
1. die Gadget IDs auch schon ein einem Enumeration Block automatisch erzeugt werden (auch gerne extra z.b. "init.pbi" Datei,
2. die xml Datei geladen wird,
3. Aufruf des Dialogs schon im Source steht
4. und um es auch gleich zu übertreiben. OnEvents gleich mit verwalten. (ggf. Procedure Blocks mit anlegen)

Sofern das oben bei der Erzeugung der pbi nicht ohnehin schon implementiert ist.

LG
menschmarkus
Wissen schadet nur dem, der es nicht hat !
Benutzeravatar
HeX0R
Beiträge: 3056
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Fragen zu Fenster und HexORs DialogDesignor

Beitrag von HeX0R »

Vielleicht solltest Du Dir die erstellte pbi erst mal anschauen, weil fast alle Deiner Vorschläge dort umgesetzt sind.

Aktivieren kannst Du das allgemein (also für alle neu erstellten Dialoge) in den Einstellungen => Verschiedenes / Standardeinstellg. zusätzl. Datei
oder auch pro individuellem Dialog de/aktivieren => das dialogs Item im Baum anwählen, dann kommen rechts Einstellungen.

Wie das ganze dann aussieht, kannst Du selbst bestimmen, siehe Datei "save_template.json"

Das hier wird so aber sicherlich nicht umgesetzt, das muss man schon im jeweiligen Hauptprogramm machen (es werden aber Declares schonmal angelegt)
und um es auch gleich zu übertreiben. OnEvents gleich mit verwalten. (ggf. Procedure Blocks mit anlegen)
MenschMarkus
Beiträge: 227
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: Fragen zu Fenster und HexORs DialogDesignor

Beitrag von MenschMarkus »

HeXOR hat geschrieben:Vielleicht solltest Du Dir die erstellte pbi erst mal anschauen, weil fast alle Deiner Vorschläge dort umgesetzt sind
Es hat erst funktioniert nachdem ich die Einstellung vorgenommen hatte und ein neues Projekt gestartet habe. Soweit so gut. Konstanten und Runtime Enumeration Gadgets werden auch schon angelegt. Sehr schön.
HeXOR hat geschrieben:Das hier wird so aber sicherlich nicht umgesetzt, das muss man schon im jeweiligen Hauptprogramm machen (es werden aber Declares schonmal angelegt)
Die Information liegt ja schon komplett vor. Da wäre es doch sicherlich einfach eine Datei "DD_<ProjName>.pb" mit folgendem Inhalt anzulegen, gerne auch optional

Code: Alles auswählen

;/-------------------------
;|
;| Names, IDs, Procedures
;|
;| Example Template for Dialog Design0R
;|
;/-------------------------

#XML=0
#Dialog=0
#window_1 = "window_1"
XIncludeFile "<programpath>\<ProjName>.xml.dd.pbi"

Runtime Procedure <Event:procedureName>

EndProcedure
Runtime Procedure <Event:procedureName>

EndProcedure

CompilerIf #PB_Compiler_IsMainFile
  Event.i
  If LoadXML(#XML,"<programpath>\<ProjName>.pb") And XMLStatus(#XML) = #PB_XML_Success
    CreateDialog(#Dialog)
    If OpenXMLDialog(#Dialog,#XML,"window_1")
      
      Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
        
    Else
      Debug "Dialog creation error: " + DialogError(#Dialog)
    EndIf

  EndIf  
CompilerEndIf
Zumindest hätte man so eine Basis zum Testen des Dialogs und vergisst keine Runtime Procedure. Es wäre hierbei zu beachten, dass bei Prozeduren auch die Klammern sitzen, oder Prozedureinträge ohne Klammer werden ignoriert.
Ist aber Deine Entscheidung so etwas zu implementieren.
War nur mal so ne Idee

Schöne Weihnachtszeit noch und bleib gesund.
Wissen schadet nur dem, der es nicht hat !
MenschMarkus
Beiträge: 227
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: Fragen zu Fenster und HexORs DialogDesignor

Beitrag von MenschMarkus »

Allgemeine Frage zum Handling von Dialog.
Soweit hab ich Dialog jetzt verstanden.
Gibt es eine Möglichkeit die Spalten, sei es eine, mehrere, oder alle, eines Listicons automatisiert der Listicon Gadgetgröße mit anzupassen? Das Gadgets passen sich ja automatisiert an die Fenstergröße an.
Oder bleibt nur das Size Window Event abzupassen und mit SetGadgetItemAttribut() anzupassen, was auch OK wäre ?
Wissen schadet nur dem, der es nicht hat !
Benutzeravatar
HeX0R
Beiträge: 3056
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Fragen zu Fenster und HexORs DialogDesignor

Beitrag von HeX0R »

Das kann die Dialog-Lib nicht, das musst Du selbst ausprogrammieren.
MenschMarkus
Beiträge: 227
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: Fragen zu Fenster und HexORs DialogDesignor

Beitrag von MenschMarkus »

Neue Frage,
kann man die TAB Aktivität in Dialog beeinflussen? z.B. Tab Stopps auf Disabled Gadgets überspringen?
Oder bleibt die Tab Reihenfolge streng ausgerichtet an der Definitionsreihenfolge?
Wissen schadet nur dem, der es nicht hat !
Antworten