Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#1

Welche Information enthällt yOffset bei TRichEdit?

  Alt 18. Okt 2012, 22:41
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;
  Mit Zitat antworten Zitat