Parentangabe

Moderator: Moderatoren

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Parentangabe

Beitrag von Tom »

Hantierst Du nach dem Erzeugen des (Teil)Dialogs noch irgendwo mit SetParent()?
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Parentangabe

Beitrag von brandelh »

oder mit einem configure() ohne Parameter ;-)
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Parentangabe

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Parentangabe

Beitrag von Jan »

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: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Parentangabe

Beitrag von Tom »

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: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Parentangabe

Beitrag von Jan »

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: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Parentangabe

Beitrag von Manfred »

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 Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Parentangabe

Beitrag von Tom »

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