Parentangabe

Moderator: Moderatoren

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7693
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: Parentangabe

Beitrag von Tom » Di, 13. Feb 2018 13:02

Hantierst Du nach dem Erzeugen des (Teil)Dialogs noch irgendwo mit SetParent()?
Herzlich,
Tom

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14809
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Parentangabe

Beitrag von brandelh » Di, 13. Feb 2018 13:05

oder mit einem configure() ohne Parameter ;-)
Gruß
Hubert

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Parentangabe

Beitrag von Manfred » Di, 13. Feb 2018 13:19

weder noch. Aber auch hier liegt die betonung bei: "Ich bin mir wenn dessen nicht bewußt."
Das einzige was ich mache, ist das ich einen Dialog aufbaue, in dem ich arbeite. Von dort rufe ich wieder einen Dialog auf und dann wieder. Aber jedesmal alles Local, so wie das Beispiel aussieht. Ob es da zu irgendwelchen Irritationen kommt? Ich habe keine Ahnung. Aber irgendwas blödes muß es ja sein.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13477
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: Parentangabe

Beitrag von Jan » Di, 13. Feb 2018 13:48

Manfred,

viel konstruktives kann ich natürlich nicht dazu sagen, ich kenen halt von eXpress++ nicht viel mehr als den Namen und den Hauptzweck. Aber es sieht eben halt doch so aus, als ob Du die verschiedenen GUI-Elemente auf unterschiedliche Parents legst. Vermutlich einerseits auf den Dialog direkt und andererseits auf die :drawingArea. Kannst Du das steuern?

Ansonsten kannst Du natürlich als Workearound ein Static erzeugen in der Größe der :drawingArea, und Deine GUI-Elemente darauf als Parent legen. Etwas umständlich, und löst das eigentliche Problem nicht. Aber repariert zumindest das Anzeigeproblem.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7693
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: Parentangabe

Beitrag von Tom » Di, 13. Feb 2018 15:48

Nee, Jan, er macht da schon alles richtig. Beim Erzeugen eines Dialogs über eXpress++ gibt man als Parent nur dann etwas an, wenn ein Objekt auf einem anderen liegt; der dahinterliegende Dialog ist das Default und dieser Dialog wird dann als erstes erzeugt. Ein Parent muss also nur angegeben werden, wenn es NICHT der Dialog ist. Da ist auch kein Fehler in Rogers Code. Das ist direktes, sauberes eXpress++. Und Manfred kann dort eigentlich auch nicht die DrawingArea des Dialogs ansteuern, weil die noch nicht existiert. Er tut's auch nicht. Aber er schubst irgendwo - in seinem Custom-Handler, in irgendeiner Funktion - versehentlich die Parents herum. In diesem Code hier aber nicht. Der ist sauber und gut aufgebaut. Würde man ihn - und nur ihn - in ein kompilierbares Beispiel überführen, gäbe es sicher auch keinen Fehler. Der steckt anderswo.
Herzlich,
Tom

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13477
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: Parentangabe

Beitrag von Jan » Di, 13. Feb 2018 16:15

Tom,

hatte ich ja gesagt - zu eXpress++ selber kann ich halt wenig konstruktives sagen. Deswegen war das ja auch nur eine Vermutung - in pur Xbase++ (ja, ich weiß, auch eXpress++ ist Xbase++) hätte ich auf dieses Problem getippt.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18818
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Parentangabe

Beitrag von Manfred » Di, 13. Feb 2018 19:52

Hi Tom,
Tom hat geschrieben:
Mo, 12. Feb 2018 10:31
Du musst überhaupt keinen Parent angeben, solange der Parent nicht etwas anderes als der Dialog ist, den Du sowieso gerade erzeugst (DCREAD ... PARENT @oDialog). Wenn Du Bereiche hast, die in einen anderen Parent laufen, etwa Elemente auf einer Groupbox, dann vereinfachen DCSETPARENT TO oGroup vor dem ersten Element und DCSETPARENT TO nach dem letzten den Code etwas.
das habe ich wohl irgendwie falsch verstanden. Ich habe gerade mal einen versuch gestartet. Ich habe ein Eval in DCREAD GUI eingebaut, mit dem ich eine routine aufrufe, die nur Altd() beinhaltet und den Dialog übergeben bekommt. Wenn ich den beiden DCGROUP den parent oDialog als parent angebe, dann kann ich in der Routine über dialog:childlist() alles sehen. Wenn ich den parent nicht angebe, dann wird auch nichts in der Childlist angezeigt. Von XbpIWindow mal abgesehen. Deinem Text entnehme ich aber, das es automatisch dem oDialog als Parent zugeordnet wird!?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7693
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: Parentangabe

Beitrag von Tom » Di, 13. Feb 2018 20:09

Was passiert, wenn Du die objektrelativen Positionen DCGUI_PARENTWIDTH/HEIGHT mal gegen konkrete (1,2 oder so) austauschst?
Herzlich,
Tom

Antworten