Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TRichEdit Tabulator Message (https://www.delphipraxis.net/162041-trichedit-tabulator-message.html)

kamag 3. Aug 2011 09:38


TRichEdit Tabulator Message
 
Hallo Leute,

ich hätte eine Frage bezüglich des TRichEdit Steuerelements.
Ich versuche seit einiger Zeit, die Breite eines Tabulators zu beeinflussen, ohne Erfolg.
Bildlich sieht die ganze Sache so aus.

http://iRace-Team.net/pics/DelphiTabulator.jpg

Zu sehen sind zwei Zeilen, die obere und die untere mit einem und die mittleren mit 2 Tabulatoren. Und mit
Tabulatoren meine ich den Tabulator-Tastendruck auf der Hardwaretastatur.

WIe ihr seht, schlägt mein TRichEdit Control eine feste Breite vor, diese würde ich nun gerne anpassen.
Mir fiel auf, das es für andere Steuerelemente die Message EM_SETTABSTOPS gibt, welche in zu Nutzen versuchte
aber ich leider funktioniert sie offensichtlich für RichEdits nicht. Laut dem MSDN ist EM_SETTABSTOPS für RichEdit-Controls
nicht verfügbar,

stattdessen solle man EM_SETPARAFORMAT verwenden, leider funktioniert diese auch nicht.

Delphi-Quellcode:
var
 TTabsize: Integer;
begin
 TTabsize := 5;   
 SendMessage(editorRichEdit.Handle, EM_SETTABSTOPS, 1, Longint(@TTabsize)); // oder mit EM_SETPARAFORMAT
end;
So meine Frage, hat jemand eine Idee wie es möglich ist, diese Eigenschaft für das Steuerelement anzupassen, ohne
jede Zeile einzeln anzupassen ?

Liebe Grüße

Steku 3. Aug 2011 09:48

AW: TRichEdit Tabulator Message
 
Hallo,

bin mir nicht ganz sicher, aber schau doch mal beim Richedit nach den
Eigenschaften von Paragraph...

z.B, ungetestet, ohne Gewähr...

<Name des Richedits>.Paragraph.TabCount := 2; --> Anzahl der Tabs
<Name des Richedits>.Paragraph.Tab[0] := 200 --> Weite des ersten Tabs (in Pixel glaube ich..)
<Name des Richedits>.Paragraph.Tab[1] := 300 --> Weite des zweiten Tabs

Gruß,
Steku

himitsu 3. Aug 2011 10:01

AW: TRichEdit Tabulator Message
 
Zitat:

Zitat von EM_SETTABSTOPS Message
Supported in Microsoft Rich Edit 3.0 and later

Delphi nutzt seit D2009 das Richedit 2.0 und davor die 1.

Quelle: Remarks aus MSDN-Library durchsuchenEM_SETTABSTOPS

kamag 3. Aug 2011 10:12

AW: TRichEdit Tabulator Message
 
Danke für die schnelle Hilfe,

ja mir fiel in der Tat auf, das mein RichEdit Control noch auf der 1.0.5000.0 läuft,
wobei ich nicht glaube, das Microsoft in der 3.0er noch große Änderungen an den WinForms vorgenommen hat (leider).
Ich werd mir eure Verweiße mal durchlesen und mich ggf. später nochmal melden, ob es funktioniert und wie die Lösung nun aussieht.

Übrigends ich verwende die kostenlose Version vom Delphi Turbo Explorer, hatte ich verpasst zu erwähnen.


PS: Und die obige Formatierung tut mir leid, Thunderbird

p80286 3. Aug 2011 11:51

AW: TRichEdit Tabulator Message
 
Wenn Du Turbo Delphi nutzt, dann sollte es so funktionieren:
Delphi-Quellcode:
richedit2.Paragraph.TabCount:=9;
for i:=0 to richedit2.Paragraph.TabCount-1 do begin
  richedit2.Paragraph.Tab[i]:=i*28; { 28~1CM}
end;
ein
Delphi-Quellcode:
richedit2.Paragraph.Tab[9]
wir übrigens ignoriert.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz