![]() |
RichEdit Text mit schatten
Hi
mit diesem Code kann ich den Text in RichEdit mit einem Schatten-Effekt zeichnen Das Problem, alle Linien von RichEdit kommen in eine Linie Gibt es eine Andere Funktion für Richedit? Der Code ist normalerweise für eine String gedacht und nicht für TString
Delphi-Quellcode:
var
lf: LOGFONT; // Windows native font structure // text: string; begin Canvas.Brush.Style := bsClear; // set the brush style to transparent FillChar(lf, SizeOf(lf), Byte(0)) ; lf.lfHeight := 100; lf.lfFaceName := 'Arial'; Canvas.Font.Handle := CreateFontIndirect(lf) ; Canvas.Font.Color := clBlack; //text := txtText.Text; Canvas.TextOut(20, 100, RichEdit1.Lines.Text) ; // shadow in black //Canvas.Font.Color := clGray; Canvas.Font.Color := clBlue; //Canvas.TextOut(19, 99, Edit1.Text) ; // // text in gray 1pxl left and up Canvas.TextOut(19, 99, RichEdit1.Lines.Text) ; end; |
AW: RichEdit Text mit schatten
Oder Du gehst alle Lines durch und gibts diese einzeln aus zB so:
Delphi-Quellcode:
for i:=0 to RichEdit.Lines.Count -1 do
begin Canvas.TextOut(x,y,RichEdit.Lines[i]); inc(y,20); end; |
AW: RichEdit Text mit schatten
Verstehst du eigentlich, was der Code macht? Es ist doch sinnlos alles nur via Copy&Paste zusammenzutragen und andere um die Änderung des Codes zu fragen... Auf die Dauer verstehe ich da die anderen.
@daywalker9: so könnte man es machen, wobei das nicht das Rätsels Lösung ist, da die Position der Scrollbalken eine sehr elementare Rolle spielt ;) |
AW: RichEdit Text mit schatten
Was für ein Grund hat die Erstellung eines Fonts via WinAPI in diesem VCL-Code?
(dazumal es hier keinerlei Grund dafür gibt) ![]() ![]() ![]() ![]() ![]() Mit entsprechender Recherche in der OH und im MSDN hätte man sowas bestimmt auch selber rausbekmmen können. Und nochwas zum Codes da oben: - entweder man nutzt nur WinAPI - oder man nutzt die VCL Aber auf keinem Fall sollte man sowas mischen ... jedenfalls nicht, wenn es keinerlei Gründe dafür gibt, also wenn man das gleiche Verhalten sehr leicht mit jeweils nur einer Variante erreichen kann. Und ich kann s.h.a.r.k nur zustimmen. Will man wirklich programmieren, dann muß man wenigstens Ansatzweise wissen was man da macht, sonst bringt es einfach nix. Ab jetzt: 10¢ pro Antwort Ich glaub ich bin bald Millionär. |
AW: RichEdit Text mit schatten
Zitat:
Delphi-Quellcode:
Es gibt ein kleines Problem und zwar wenn der Text in Richedit (Zeile) nicht den die selbe Font.Size :roll:
procedure TfrmMain.Button2Click(Sender: TObject);
var lf: LOGFONT; i, x, y: Integer; begin x:=0; y:=1; Canvas.Brush.Style := bsClear; FillChar(lf, SizeOf(lf), Byte(0)) ; lf.lfHeight := 100; lf.lfFaceName := 'Arial'; Canvas.Font.Handle := CreateFontIndirect(lf) ; Canvas.Font.Color := clBlack; Canvas.Font.Color := clBlue; for i:=0 to RichEdit1.Lines.Count -1 do begin Canvas.TextOut(0,y*80,RichEdit1.Lines[i]); inc(y); end; end; Dann kann es sein dass die Text-Zeile über einander oder weit weg von einander kommen |
AW: RichEdit Text mit schatten
Liest du überhaupt das, was man dir schreibt? Es macht irgendwie so gar nicht den Eindruck.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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