![]() |
Gekippten Text doppel zeichnen !!!
Hallo zusammen,
folgende Procedure, dreht den Text:
Delphi-Quellcode:
Nun möchte ich aber den Text so zeichnen als ob er ausgeblendet aussieht. Heisst einmal Hellgrau und um einen Pixel verschoben in weiss. Bei nicht gedrehtem Text geht das auch, aber ich denke die Funktion oben entfernt immer den vorherigen Text wenn Sie zeichnet, oder ?
procedure TextOutAngle(const Canvas: TCanvas; X, Y: Integer; const AText: String; AAngle: Integer);
var hCurFont: HFONT; LogFont: TLogFont; begin with Canvas do begin hCurFont := Font.Handle; try GetObject(Font.Handle, SizeOf(LogFont), @LogFont); LogFont.lfEscapement := AAngle; LogFont.lfOrientation := AAngle; Font.Handle := CreateFontIndirect(LogFont); try TextOut(X, Y, AText); finally DeleteObject(Font.Handle); end; finally Font.Handle := hCurFont; end; end; end; Weiss da jemand Rat ? Gruss Holger |
Re: Gekippten Text doppel zeichnen !!!
Probier es doch einfach aus. Ich denke, sie entfernt da nichts.
|
Re: Gekippten Text doppel zeichnen !!!
Das habe ich ja ausprobiert:
So:
Delphi-Quellcode:
Canvas.Brush.Style := bssolid;
Canvas.Font.Color := clBtnHighlight; Canvas.Font.Name := 'Arial'; Canvas.Font.Size := 8; Canvas.TextOut(rect.left+17,rect.top+7,Pages[Der_Tabindex].Caption); // <- Ohne das klappt es nicht TextOutAngle(PageControl.Canvas, rect.left+17, rect.top+7, Pages[Der_Tabindex].Caption, 900); //text in anderer Farbe wieder drüberzeichnen (25 Pixel nach links oben versetzt) Canvas.Brush.Style := bsclear; Canvas.Font.Color := clBtnShadow; Canvas.Font.Name := 'Arial'; Canvas.Font.Size := 8; Canvas.TextOut(rect.left+16,rect.top+6,Pages[Der_Tabindex].Caption); TextOutAngle(PageControl.Canvas, rect.left+16, rect.top+6, Pages[Der_Tabindex].Caption, 900); |
Re: Gekippten Text doppel zeichnen !!!
Moin, Moin,
um eine Beschriftungen im "disabled"-Stil auszugeben verwendet man eine spezielle Funktion: DrawState() - ob die allerdinsg auch gedrehten Text ausgeben kann, ist mit nicht bekannt. |
Re: Gekippten Text doppel zeichnen !!!
Hast Du vielleicht ein Beispiel wie die Funktion im nicht gedrehten Stil angewendet wird ?
|
Re: Gekippten Text doppel zeichnen !!!
Leider nicht parat (bin im Büro), aber bei MSDN findest du gute Infos dazu
|
Re: Gekippten Text doppel zeichnen !!!
Das klappt schon ganz gut. Klappt DrwaState auch mit OwnerDraw = FALSE ?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 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