AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TTreeView, Focus...merkwürdiges Verhalten

Ein Thema von haentschman · begonnen am 18. Feb 2012 · letzter Beitrag vom 19. Feb 2012
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 Beiträge
 
Delphi 12 Athens
 
#1

TTreeView, Focus...merkwürdiges Verhalten

  Alt 18. Feb 2012, 22:48
Hallo...
ich hätte mal eine Knobelaufgabe:

gegeben(vereinfacht):
1. Form
2. TTreeView
3. PageControl (AdvOfficePager)
4. auf jeder Seite des PageControl ein Listview (AdvListview)

Im OnChange des TTreeView wird, je nach Index, die entsprechende Page aktiviert und der Focus auf das entsprechende Listview gesetzt.

Problem:
1. wenn mit der Maus geklickt wird:
- OnChange wird ausgeführt
- Listview.SetFocus wird ausgeführt aber der Focus bleibt auf dem TreeView
2. wenn mit den Cursor Tasten geändert wird: (Hoch/Runter)
- OnChange wird ausgeführt
- Listview.SetFocus wird ausgeführt und der Focus geht auf das Listview über

Hat jemand eine Idee, Lösung oder kann es zumindest reproduzieren ? Der Focus soll immer auf die Listviews gesetzt werden.

Danke...

Ich schreibe lieber 1000 Zeilen Code als immer diese Quälerei mit Kleinigkeiten der GUI !

Geändert von haentschman (18. Feb 2012 um 22:53 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: TTreeView, Focus...merkwürdiges Verhalten

  Alt 18. Feb 2012, 22:53
Na ja, vielleicht wird im MouseUp der TreeView der Focus auf die TreeView gesetzt.

Fang das doch ab, zur not mit nem Timer (100ms). Das ist natürlich zweitklassig, funktioniert aber. Manchmal hat man nicht die Zeit, sich um solche Kinkerlitzchen zu kümmern.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 Beiträge
 
Delphi 12 Athens
 
#3

AW: TTreeView, Focus...merkwürdiges Verhalten

  Alt 18. Feb 2012, 22:56
Danke für die schnelle Antwort

wie soll ich das im MouseUp "abbrechen" ? Das setzen des Focus passiert ja intern im TreeView ...

Kannst du mir auf die Sprünge helfen ?
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: TTreeView, Focus...merkwürdiges Verhalten

  Alt 18. Feb 2012, 23:28
Im MouseUp der Treeview den focus nochmal setzen oder so einen blöden Timer starten, der 100ms später den focus setzt. Klappt immer, ist aber, wie erwähnt, peinlich
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 Beiträge
 
Delphi 12 Athens
 
#5

AW: TTreeView, Focus...merkwürdiges Verhalten

  Alt 19. Feb 2012, 00:05
ok...funktioniert. Habe mich aber entschlossen auf den ganzen Focuskram zu verzichten... Sind mir zu doof die Verrenkungen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.314 Beiträge
 
Delphi 12 Athens
 
#6

AW: TTreeView, Focus...merkwürdiges Verhalten

  Alt 19. Feb 2012, 00:23
Timer weglassen und sich eine Message zusenden.
Darin wird dann das SetFocus gemacht.

Wenn mit PostMessage gesendet wird, dann wird diese ausgeführt, nachdem alles andere, was noch gemacht werden soll, vorher ausgeführt.

Eventuell könnte man auch ein Application.ProcessMessage vor dem SetFocus einfügen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz