Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi VST Selektionsrahmen (https://www.delphipraxis.net/129622-vst-selektionsrahmen.html)

stOrM 22. Feb 2009 17:25


VST Selektionsrahmen
 
Hi,
mich würde mal interessieren, ob das jemand schon mal gemacht hat oder ob es überhaupt möglich ist, vom VST den Selektionsrahmen ggf. farblich anzupassen im Code?

Ich würde wenn machbar gerne anstelle des Rahmens eine Grafik einsetzen die halt anstelle des üblichen Selektionsrahmens im VST gemalt wird, allerdings auch nur wenn unter den TreeOptions\SelectionOptions FullRowSelect ausgewählt wurde...

Edit: Ziel des ganzen wäre den Selektionsrahmen von Vista nachzuahmen der leider im VST fehlt, ein normales Tree / Listview kann ich nicht benutzen keine alternative zum VST. :-)

Viele Grüße
s!

himitsu 22. Feb 2009 17:38

Re: VST Selektionsrahmen
 
Wenn du die Zellen selber malst, dann isses kein Problem dort auch was Anderes stattdessen darzustellen

stOrM 22. Feb 2009 17:43

Re: VST Selektionsrahmen
 
Zitat:

Zitat von himitsu
Wenn du die Zellen selber malst, dann isses kein Problem dort auch was Anderes stattdessen darzustellen

Hallo,
naja ich dachte es geht vielleicht simpler als alles selber zu zeichnen, zumal das VST glaub ich auch nirgends öffentlich eine Methode bereithällt wo ich auf den Rahmen zugriff hätte? Dann müsste ich die Sourcen (die nicht grad Trivial sind) wohl anpassen?

Sagen wir mal so, irgendwie hab ichs nun doch hinbekommen halbwegs, leider frisst meine App dann 100% CPU aber gemalt wird der Selectionsrahmen schon mal, wenn nun noch die 100% verschwinden per Geisterhand wär ich glücklich!

So hast bei mir geklappt, die frage ist nun auch bei welcher Eigenschaft das angewand werden muss / sol, ich habs erstmal im TreeAfterCellPaint getestet gerade.

Code:
var
  tt : HTHEME;
begin
  tt := OpenThemeData( VstTree.Handle, 'TREEVIEW' );
  if tt <> 0 then
  try
    DrawThemeBackground( tt, TargetCanvas.Handle, TVP_TREEITEM, TREIS_SELECTED, CellRect, @CellRect );
    SetWindowTheme( VstTree.Handle, 'explorer', nil );
  finally
    CloseThemeData(tt);
  end;
end;

Tegi 6. Mär 2009 20:38

Re: VST Selektionsrahmen
 
Ich habe die Arbeit an der Vista-Explorer-Theme-Unterstützung für den VirtualTreeview nahezu abgeschlossen. Sollte mir nichts mehr auffallen, wird das wohl Montag im Laufe des Tages ins SoftGems Repository übernommen.

stOrM 6. Mär 2009 20:47

Re: VST Selektionsrahmen
 
Optimal, teste ich gleich bezüglich CustomHint sende ich Dir gleich noch ne Mail.

Gruß,
Marc

generic 6. Mär 2009 21:02

Re: VST Selektionsrahmen
 
Die Eigenschaft Colors hast du gefunden? Dort kannst du auch jede Menge verstellen?

Tegi 6. Mär 2009 21:09

Re: VST Selektionsrahmen
 
Stimmt, über Colors kann man eine Menge Farben kontrollieren, aber den nativen Vista-Look bekommt man damit leider nicht hin.
Deswegen hab ich mir ja die Arbeit gemacht, dass zu ändern (wofür ich mir extra Vista gekauft habe :-) )

stOrM 6. Mär 2009 21:11

Re: VST Selektionsrahmen
 
@Tegi super Job ist optimal umgesetzt, Du hast Post wegen CustomHint


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz