Tabpage aktivieren [Erledigen]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
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:

Tabpage aktivieren [Erledigen]

Beitrag von Jan »

Hallo,

wie kann ich codetechnisch eine Tabpage aktivieren? Ich möchte einfach sagen: Wenn das passiert, dann muß dieser oder jener Tab ausgewählt und aktiviert werden. Irgendwie bekomme ich das nicht hin.

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: Tabpage aktivieren

Beitrag von Tom »

SetAppFocus(oTab)?
Herzlich,
Tom
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Tabpage aktivieren

Beitrag von Werner_Bayern »

Servus Jan,

Code: Alles auswählen

setappfocus(oDeingewünschterTab)
es grüßt

Werner

<when the music is over, turn off the lights!>
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: Tabpage aktivieren

Beitrag von Jan »

Hallo Tom und Werner,

das hatte ich auch gedacht. Aber macht der nicht.

Wenn das der einzig korrekte Weg ist muß es irgend was anderes im Programm geben, was das umgeht. Werd mal suchen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Tabpage aktivieren

Beitrag von Werner_Bayern »

Ich habs vorher sicherheitshalber getestet, deswegen war wohl Tom schneller :)

Wie schaut Dein TabActivate-Codeblock aus? Der wird bei mir durch setappfocus() 2x (!) aufgerufen.
es grüßt

Werner

<when the music is over, turn off the lights!>
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: Tabpage aktivieren

Beitrag von Tom »

Bei mir geht das. Wenn es nicht geht, dann liegt das möglicherweise daran, dass die Tabpage auf etwas liegt, das zuerst den Fokus bekommen muss. Oder etwas beim Fokusbekommen lässt den Fokus wieder verschwinden. Aber ich habe auf komplexen Dialogen z.B. Buttons, mit denen Einträge in derzeit nicht sichtbaren Browses auf derzeit nicht aktivierten Tabpages erzeugt werden können. Ein SetAppFocus(oTab) nach dem oZielBrowse:RefreshAll() tut dann seine Wirkung. Wie gesagt, es sei denn, SetInputFocus() oder ähnliches werden vorher aktiv. Bei Tabpages kann auch der SetSize-Codeblock eine Rolle spielen, denn eine Tabpage, die den Fokus bekommt, verändert gleichzeitig ihre Größe. Edit: Klemm doch einfach mal eine MessageBox in den SetInputFocus-Callback der Tabpage.
Herzlich,
Tom
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: Tabpage aktivieren

Beitrag von Tom »

Oder SetDisplayFocus, eigentlich. :wink:
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: Tabpage aktivieren

Beitrag von Jan »

Hallo Tom,

was ich machen möchte: Ich habe eine Tabpage, auf der eine weitere Tabpage-Reihe liegt. Wenn ich in der zweiten Reihe auf dem n-ten Tab stehe, aber auf einen anderen Tab der ersten Reihe wechseln muß, möchte ich beim Zurückwechseln auf den ursprünglichen Tab in der ersten Reihe wieder auf den zuletzt aktiven Tab der zweiten Reihe landen. Also merke ich mir den zuletzt aktiven Tab in einer PUBLIC, und setze beim Fokuserhalt des Tabs in der ersten Reihe den Fokus auf den gemerkten in der zweiten Reihe.

War das jetzt irgendwie verständlich?

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: Tabpage aktivieren

Beitrag von Tom »

Ja, war es. Du musst Dir mal die SetDisplayFocus- und, wenn vorhanden, Resize-Callbacks der Tabpages anschauen. Du löst mit SetAppFocus den SetDisplayFocus-Codeblock aus. Wahrscheinlich wäre es sinnvoll, darin dann den nächsten Fokus zu setzen, nach dem Abarbeiten der vorher nötigen Aktionen natürlich. Also: Fokus auf die "Mutter"-Tabpage setzen, und bei der in SetDisplayFocus auf irgendwas reagieren - und dann den Fokus auf die Tochter setzen.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Tabpage aktivieren

Beitrag von AUGE_OHR »

Jan hat geschrieben: Sa, 24. Feb 2018 11:23 wie kann ich codetechnisch eine Tabpage aktivieren? I

Code: Alles auswählen

PostAppEvent(xbeTab_TabActivate...oTabPage)
bei einem Callback Slot für einen Codeblock steht oben die xbe* Konstante die man für PostAppEvent() benötigt um den Codeblock zu aktivieren.
gruss by OHR
Jimmy
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: Tabpage aktivieren

Beitrag von Jan »

Die Kombination aus PostAppEvent(xbeTab_TabActivate, , , oTab) und SetAppFocus(oTab) macht es.

Danke für Eure Tipps.

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