AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Focus in VirtualTreeView immer anzeigen

Ein Thema von ralfiii · begonnen am 10. Apr 2012 · letzter Beitrag vom 10. Apr 2012
Antwort Antwort
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
474 Beiträge
 
Delphi 2010 Professional
 
#1

Focus in VirtualTreeView immer anzeigen

  Alt 10. Apr 2012, 10:53
Hallo!

Ich möchte, dass die blaue Markierung des fokussierten Elements immer gezeichnet wird - also auch wenn das VST den Fokus gar nicht hat.
Bei einem Edit würde ich das über Edit.HideSelection:=False erledigen.
Nur: Das VST hat diese Eigenschaft nicht. Es gibt zwar in TreeOptions.PaintOptions den Wert toHideSelection, aber der ist schon standardmässig false und bewirkt diesbezüglich garnix.

Zum probieren, einfach das hier auf ein Formular werfen, App starten, Node auswählen auf ein anderes Fenster klicken - die Auswahl wird grau:
Delphi-Quellcode:
object VirtualStringTree2: TVirtualStringTree
  Left = 120
  Top = 176
  Width = 200
  Height = 100
  RootNodeCount = 2
  Columns = <>
end
Hilfe!
Danke!
Ralf
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
35.267 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Focus in VirtualTreeView immer anzeigen

  Alt 10. Apr 2012, 11:03
die Auswahl wird grau
Sie verschwindet also doch nicht?

andere Farbe <> verstecken/ausblenden
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
474 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Focus in VirtualTreeView immer anzeigen

  Alt 10. Apr 2012, 11:04
Oh!
Hab grad entdeckt, dass es ja die Eigenschaft
VST.Colors.UnfocusedSelectionColor gibt.

Da muss man dann nur mehr in OnPaintText sicherstellen, dass der Text richtig eingefärbt wird:

Delphi-Quellcode:
  if VirtualStringTree2.Selected[Node] then
     TargetCanvas.Font.Color:=clWhite;
Sorry, hat sich also erledigt.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
3.670 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: Focus in VirtualTreeView immer anzeigen

  Alt 10. Apr 2012, 11:17
Oh!
Hab grad entdeckt, dass es ja die Eigenschaft
VST.Colors.UnfocusedSelectionColor gibt.

Da muss man dann nur mehr in OnPaintText sicherstellen, dass der Text richtig eingefärbt wird:

Delphi-Quellcode:
  if VirtualStringTree2.Selected[Node] then
     TargetCanvas.Font.Color:=clWhite;
Sorry, hat sich also erledigt.
Ich würde dort dann doch lieber auf VirtualStringTree2.Colors.SelectionTextColor oder clHighlightText setzen, anstatt einen absolut Wert zu benutzen. Das gibt sonst immer Probleme bei denen, die sich ihr Windows Theme anpassen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: Focus in VirtualTreeView immer anzeigen

  Alt 10. Apr 2012, 11:30
Hallo,

setzte in TreeOptions.PaintOptions die Eigenschaft toPopupMode auf True.
  Mit Zitat antworten Zitat
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
474 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Focus in VirtualTreeView immer anzeigen

  Alt 10. Apr 2012, 11:33
setzte in TreeOptions.PaintOptions die Eigenschaft toPopupMode auf True.
Pfff, das Ding kann scheinbar echt alles.
Danke!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf