Outfit von TreeViews unter Win7

08/02/2011 - 16:46 von René König | Report spam
Hallo!

Mir fàllt gerade auf, dass so ziemlich alle Anwendungen, die hier unter
7 laufen, im TreeView nicht mehr '+' und '-' im Baum verwenden sondern
kleine Dreiecke. Die einzigen Anwendungen, die das noch nicht machen,
sind meine eigenen und der ControlSpyV6. Daher die Frage: Wie kann ich
mich so benehmen, wie es alle anderen auch machen? Wie macht Ihr das?

Ich habe übrigens auch versucht, das Ganze selber zu zeichnen, aber
TVP_GLYPH ergibt zusammen mit DrawThemeBackground auch nur '+' bzw. '-'
und TVP_HOTGLYPH ergibt gar nichts.

Gruß,
René
 

Lesen sie die antworten

#1 Stefan Graf
08/02/2011 - 19:49 | Warnen spam
Mir fàllt gerade auf, dass so ziemlich alle Anwendungen, die hier
unter 7 laufen, im TreeView nicht mehr '+' und '-' im Baum verwenden
sondern kleine Dreiecke. Die einzigen Anwendungen, die das noch nicht
machen, sind meine eigenen und der ControlSpyV6. Daher die Frage: Wie
kann ich mich so benehmen, wie es alle anderen auch machen? Wie macht
Ihr das?

Ich habe übrigens auch versucht, das Ganze selber zu zeichnen, aber
TVP_GLYPH ergibt zusammen mit DrawThemeBackground auch nur '+' bzw.
'-' und TVP_HOTGLYPH ergibt gar nichts.


Ich habe nach einigen Versuchen dann den Source minimal angepasst und
die beiden Icons aus der Explorer-Ansicht gegrabbt.

procedure TBaseVirtualTree.PrepareBitmaps(NeedButtons, NeedLines: Boolean);

if (IsWinVistaOrAbove) then begin
FMinusBM.Handle := LoadBitmap (HInstance, 'VT_VISTABUTTONMINUS');
FPlusBM.Handle := LoadBitmap (HInstance, 'VT_VISTABUTTONPLUS');
end else begin
DrawThemeBackground(Theme, FHotPlusBM.Canvas.Handle,
TVP_HOTGLYPH, GLPS_CLOSED, R, nil);
DrawThemeBackground(Theme, FHotMinusBM.Canvas.Handle,
TVP_HOTGLYPH, GLPS_OPENED, R, nil);
end;
...

Sieht ganz ok.

Stefan Graf

Ähnliche fragen