oParent Frage

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21248
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 211 Mal
Danksagung erhalten: 71 Mal

oParent Frage

Beitrag von Manfred »

Hi,

nur mal so eine Verständnisfrage:

Wenn ich z.B. ein XbpBrowse() aufbaue, dann ist es doch egal, welches Parent ich für das zu benutzende Fenster übergebe, solange es nur reinpasst!?

Ich meine, ich kann mir am Anfang das allererste Fenster merken und dass dann immer benutzen?

In meinem Falle wäre es ein oCrt, weil ich noch Hybridmodus habe.

Es geht darum, das ich auch die Tools3 verwende mit Wopen() usw. kann es natürlich vorkommen, das ein "Fenster" zu klein für ein Browse ist und somit eine Fehlermeldung beim :create erzeugt wird. Also muß ich mir immer das "große" Hybridfenster merken und hin und herschalten. Jetzt habe ich besagtes oCrt genommen und es klappt.

Meine Überlegung ist nun, ob ich irgendwas im System selbst verhuddel, wenn ich es so mache, oder kann ich generell alle grafischen Ausgaben mit dem oCrt als Parent über das Textfenster legen? Es klappt zwar, aber vielleicht knallt es ja irgendwann bei dauernder Überlagerung ein/aus.
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
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15710
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 73 Mal
Danksagung erhalten: 38 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi Manfred,

der oParent ist die Zeichenfläche auf der ein Control eingebettet und angezeigt wird, insoweit ist es nicht egal was man als oParent angibt.

Wenn du - wie beschrieben - aber immer ein bestimmtes Fenster möchtest, kannst du das schon nehmen. Bei XbpDialog() muss dann aber nicht das Fenster selbst, sondern die drawingarea verwendet werden.
Bei XbpCrt weiß ich es jetzt nicht.
Gruß
Hubert
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1931
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Fenster für XbpBrowse

Beitrag von Rolf Ramacher »

Hallo Manfred,

ich erzeuge bei einem xbpbrowse immer ein neues Fenster und setze auch direkt den Focus auf den Browse. Hierbei sperre ich das vorherige Fenster um mehrfachaufrufe zu vermeiden.

Mit einem Pushbutton wird das xbpbrowse beendet, das vorherige Fenster wird wieder freigegeben und der Focus wieder auf das "alte Fenster"
aktiviert.

Dieses hat sich bei meiner Anwendung bestens bewährt.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21248
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 211 Mal
Danksagung erhalten: 71 Mal

Beitrag von Manfred »

Hi Rolf,

neues Fenster ist gut, aber es muß ein Parent haben. Dieses Parent muß aber groß genug sein um das neue Fenster unterzubringen. Zumindest im Hybridmodus gibt es da Probleme, wenn ich eine GUI über einen Text legen will und das Textfenster ist zu klein dafür.
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
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1931
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

oBrowse-Fenster

Beitrag von Rolf Ramacher »

Hi Manfred,

also an das alte Fenster (oParent) orientiere ich mich dabei nicht. Ich erzeuge einen neuen xbpdialog in einem neuen oDlg. Der alte oDlg
wird mit an die Funktion übergeben und den nenne ich dort oParent.

Dieser wird dann als erstes oParent:disable() und wenn ich das neue fenster (oDlg) verlasse mache ich folgendes

oParent:enable()
oDlg:destroy()
SetAppFocus(oParent)

somit ist das "alte Fenster" wieder aktiv. Meine ganze Anzeigemodus
gestalte ich so. Warum willst /musst du auf oParent bei dir zugreifen ?
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12913
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

Re: oParent Frage

Beitrag von AUGE_OHR »

hi,
Manfred hat geschrieben: Wenn ich z.B. ein XbpBrowse() aufbaue, dann ist es doch egal, welches Parent ich für das zu benutzende Fenster übergebe, solange es nur reinpasst!?

Ich meine, ich kann mir am Anfang das allererste Fenster merken und dass dann immer benutzen?

In meinem Falle wäre es ein oCrt, weil ich noch Hybridmodus habe.
Ich nutzte bei GUI Parts in Hybridmodus als Parent immer AppDeskTop()
den ich muss immer dafür sorgen das in den oCrt Fenstern "nichts
passiert" (keine Bildschirm Ausgabe) solange ich SetAppWindow() auf
dem GUI Part habe.
Vielmehr nehme ich den oCrt als Owner sodas auch bei "minimieren" /
"maximieren" die GUI Parts noch stimmen (repaint Problem)

Frage : warum machst du um dein oCrt "Hauptfenster" kein XbpDialog ?
Dann hättest du immer die "MainDialog:DrawingArea" für GUI Parts.

gruss by OHR
Jimmy
Antworten