Ich will in TRichEdit Teile das Textes tiefer oder höher stellen. Allerdings im Verhältnis zu der aktuellen Font Größe. Ich hab hier zwei Beispiel. Im ersten Beispiel enthällt yOffset den Wert 50. Der Text ist halbhoch. Im zweiten Beispiel ist die Schrift größer, der Text dementsprechend nur leicht erhöht.
Also Pixel sind es nicht, auch nicht Prozent. Weiß das einer von euch?
Delphi-Quellcode:
uses RichEdit;
procedure Test(RichEdit: TRichEdit; FontSize: Integer);
var
Format: TCharFormat;
begin
FillChar(Format, SizeOf(Format), 0);
with RichEdit do
begin
DefAttributes.Size := FontSize;
Clear;
Text := 'ABCDE';
Format.cbSize := SizeOf(Format);
Format.dwMask := CFM_OFFSET;
SelStart := 2;
SelLength := 2;
Format.yOffset := 50; //<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@Format));
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Test(RichEdit1, Font.Size);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Test(RichEdit1, 30);
end;