Fragen zu Fenster und HexORs DialogDesignor
-
- Beiträge: 220
- 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
Wie im Code zu erkennen sind Koordinaten als Variable hinterlegt. Bei Größenänderung wird eine Resize Prozedur aufgerufen und die Gadgets werden an die Größe des Fensters angeglichen. Das Erscheinungsbild bleibt also immer erhalten.
Diese Resize Prozedur wird aber nicht bei Fenster Verschiebung aufgerufen, da sie als BindEvent an Größenveränderung des Fensters gebunden ist (SizeWindow, MaximizeWindow, RestoreWindow). Ich denke nicht, dass eines dieser Events aufgerufen wird wenn ich nur das Fenster als solches verschiebe.
Diese Resize Prozedur wird aber nicht bei Fenster Verschiebung aufgerufen, da sie als BindEvent an Größenveränderung des Fensters gebunden ist (SizeWindow, MaximizeWindow, RestoreWindow). Ich denke nicht, dass eines dieser Events aufgerufen wird wenn ich nur das Fenster als solches verschiebe.
Wissen schadet nur dem, der es nicht hat !
Re: Fragen zu Fenster und HexORs DialogDesignor
War das Fensterverhalten schon immer so?
Oder hast du irgendetwas bestimmtes abgeändert und erst danach ist dieses Verhalten aufgetreten?
Mein Tip:
Versuche deinen Code so gut wie möglich zu reduzieren und kontrolliere so viel wie möglich mit den Debugger.
Ansonsten kann ich hier als Orakel nur mit Fragezeichen um mich werfen.
Oder hast du irgendetwas bestimmtes abgeändert und erst danach ist dieses Verhalten aufgetreten?
Mein Tip:
Versuche deinen Code so gut wie möglich zu reduzieren und kontrolliere so viel wie möglich mit den Debugger.
Ansonsten kann ich hier als Orakel nur mit Fragezeichen um mich werfen.
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
-
- Beiträge: 220
- 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
Ich kann nicht mehr genau sagen wann, aber das fing irgendwann mal an langsam zu werden. Ich weiß aber nicht mehr bei welcher Gadgetzahl das begann. Ich kann ja mal einzelne Container auskommentieren und die Reaktion testen.
EDIT:
Das scheint tatsächlich was mit der Anzahl der Gadgets zu tun zu haben. Wenn ich einzelne Container auskommentiere verkürzt sich die Verzögerung.
Die Frage die sich stellt, wie löse ich das Problem?
EDIT:
Das scheint tatsächlich was mit der Anzahl der Gadgets zu tun zu haben. Wenn ich einzelne Container auskommentiere verkürzt sich die Verzögerung.
Die Frage die sich stellt, wie löse ich das Problem?
Wissen schadet nur dem, der es nicht hat !
Re: Fragen zu Fenster und HexORs DialogDesignor
Wie oft wird hier aktualisiert (beim Verschieben)?
Sind alle nicht angezeigten Gadgets wirklich "hide" (versteckt), oder nur überdeckt?
Code: Alles auswählen
If evt = #PB_Event_Repaint
Debug count + 1
EndIf
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
-
- Beiträge: 220
- 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
Beim Fensteraufbau gibt es 8 Repaints (reproduzierbar). Beim mehrfachen Verschieben gibt es nur 12 repaints, jedoch nicht bei jedem Verschieben.
Außer 1 aktivem Container sind alle Container "hide = 1". Die Gadgets selber in den Containern sind alle auf "hide = 0". Dadurch, dass das Eltern Gadget (hier der Container) versteckt ist, sind alle Kind Gadgets ebenfalls automatisch nicht mehr sichtbar.
Außer 1 aktivem Container sind alle Container "hide = 1". Die Gadgets selber in den Containern sind alle auf "hide = 0". Dadurch, dass das Eltern Gadget (hier der Container) versteckt ist, sind alle Kind Gadgets ebenfalls automatisch nicht mehr sichtbar.
Wissen schadet nur dem, der es nicht hat !
- HeX0R
- Beiträge: 2959
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 - Kontaktdaten:
Re: Fragen zu Fenster und HexORs DialogDesignor
Richtig cool wäre gewesen, wenn Du das auch jemandem gesagt hättest.ccode_new hat geschrieben:Der DialogDesign0r von Hex0r ist cool, noch cooler wäre es wenn man das Teil auch unter Mac Os zum laufen brächte. (Ich habs mal versucht, es war mir dann aber zu nervig/stressig/unübersichtlich/was auch immer, und ich hab es sein gelassen.
Der Source sollte eigentlich unter MacOS funktionieren, m.W. funktioniert nur das Drag&Drop nicht.
Ich habe aber kein MacOS, bin da eh auf andere angewiesen.
Um Deine Frage wegen der Doku zu beantworten (@MenschMarkus):
Ich habe dem DD sehr viele ToolTipps spendiert, und darauf geachtet, dass er sehr intuitiv zu bedienen ist.
Was natürlich schwierig ist, das liegt immer im Auge des Betrachters.
Selbst ohne Ahnung von PBs Dialogen, sollte man durch "rumspielen" aber m.E. dahinter kommen.
Ich wollte keine Hilfe machen, es war eigentlich einfach nur ein kleines nebenher Projekt, das dann allerdings etwas stark gewachsen ist.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
-
- Beiträge: 220
- 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
Ja das ist korrekt, Tool Tipps gibt es genug. Es ist auch korrekt das man durch herumspielen weiter kommt. Man kann ja nicht wirklich etwas "kaputt" machen. Es funktioniert halt lediglich nicht auf Anhieb so wie man das möchte.HeXOR hat geschrieben:Ich habe dem DD sehr viele ToolTipps spendiert, und darauf geachtet, dass er sehr intuitiv zu bedienen ist.
Das Problem mit der VBox und dem 20:80 Verhältnis konnte ich zumindest ansatzweise lösen. Ich weiß zwar nicht warum es funktioniert, was mich perönlich etwas stört, aber es funktioniert.
Intuitiv zu bedienen ist das Tool auf alle Fälle.
Lediglich bei der Einbindung des XML in PB zur Fenstererzeugung bin ich noch nicht weiter gekommen. Deinen SourceCode (OpenWindow()) habe ich mal überflogen bin aber noch nicht wirklich schlau draus geworden.
Wie dem auch sei, die Try and Error Methode funktioniert, ist aber seeeehr zeitaufwändig.
Hier würde eine spezifische Antwort auf eine spezifische Frage schneller helfen Dein Tool nutzbringend zu verwenden.
Ich hoffe da mal auf etwas Unterstützung.
Und, nicht nur weil Du es gerne hörst, ein tolles Tool.
Wissen schadet nur dem, der es nicht hat !
Re: Fragen zu Fenster und HexORs DialogDesignor
Das stimmt schon, aber du hast ja sowieso kein MacOS zum testen.MenschMarkus hat geschrieben:Richtig cool wäre gewesen, wenn Du das auch jemandem gesagt hättest.
Der Source sollte eigentlich unter MacOS funktionieren, m.W. funktioniert nur das Drag&Drop nicht.
Ich habe aber kein MacOS, bin da eh auf andere angewiesen.
Und so wichtig ist mir das jetzt auch nicht.
Es wäre nur ganz nett wenn es auch unter MacOS funktionieren würde.
Hier mal ein kleines Video:
https://workupload.com/file/cnkTuYxLJVB
Hauptsächlich kommt ständig dieser Fehler:
Dann wird sofort zu dieser Zeile gesprungen:[ERROR] *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]
Und Eingaben mit der Tastatur sind in dafür vorgesehene Eingabefelder nicht möglich.2692: Select WaitWindowEvent()
->Hat sich erledigt!
Man muss auch auf den korrekten Pfad achten!
Zuletzt geändert von ccode_new am 19.12.2020 18:35, insgesamt 1-mal geändert.
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
- HeX0R
- Beiträge: 2959
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 - Kontaktdaten:
Re: Fragen zu Fenster und HexORs DialogDesignor
Wenn ich wüsste, wie Du das gemacht hast, könnte ich evtl. helfen.MenschMarkus hat geschrieben:Das Problem mit der VBox und dem 20:80 Verhältnis konnte ich zumindest ansatzweise lösen. Ich weiß zwar nicht warum es funktioniert, was mich perönlich etwas stört, aber es funktioniert.
Ich habe mal eben was zusammengeklickt, und hat sofort wie gewünscht funktioniert:
Code: Alles auswählen
;/-------------------------
;|
;| Names, IDs, Procedures
;|
;| Example Template for Dialog Design0R
;|
;/-------------------------
#DD_WIN_window_1 = "window_1"
#DD_GADGET_container_1 = "container_1"
#DD_GADGET_container_2 = "container_2"
Procedure.s GetXMLString()
Protected XML$
XML$ + "<?xml version='1.0' encoding='UTF-16'?>"
XML$ + ""
XML$ + "<dialogs>"
XML$ + " <window flags='#PB_Window_SystemMenu | #PB_Window_SizeGadget' text='bla' minwidth='300' minheight='300' name='window_1'>"
XML$ + " <vbox>"
XML$ + " <container flags='#PB_Container_Raised' name='container_1'/>"
XML$ + " <container flags='#PB_Container_Raised' name='container_2'/>"
XML$ + " </vbox>"
XML$ + " </window>"
XML$ + "</dialogs><!--DDesign0R Definition: PureBasic|1|1|0-->"
XML$ + ""
ProcedureReturn XML$
EndProcedure
;Test it
CompilerIf #PB_Compiler_IsMainFile
a$ = GetXMLString()
If CatchXML(0, @a$, StringByteLength(a$), 0, #PB_Unicode)
Debug XMLStatus(0)
Debug XMLError(0)
CreateDialog(0)
OpenXMLDialog(0, 0, "window_1")
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
CompilerEndIf
O.k., das mag etwas zu kurz gekommen sein.MenschMarkus hat geschrieben: Lediglich bei der Einbindung des XML in PB zur Fenstererzeugung bin ich noch nicht weiter gekommen.
[...]
Ich hoffe da mal auf etwas Unterstützung.
DD erstellt (optional) noch eine *.pbi Datei, die Du direkt als Source einbinden kannst, oder aber Du lädst die erstellte xml Datei ganz einfach per LoadXML().
Danach musst Du nur noch nen Dialog Erstellen (CreateDialog()), und das ganze per OpenXMLDialog() öffnen.
Ab da geht alles wie gehabt, siehe auch Code oben, da habe ich die erstellte *.pbi Datei einfach noch um 3 Zeilen erweitert.
@ccode_new:
Das ist aber in der Tat übel!
Kommt diese Fehlermeldung eigentlich auch ausserhalb von DD, wenn Du einfach nur nen Dialog mit ner ComboBox erstellst?
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
Re: Fragen zu Fenster und HexORs DialogDesignor
Erledigt!
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat