Einzelnen Beitrag anzeigen

Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Default-Tabstops setzen funktioniert nicht (RichEdit)

  Alt 5. Mai 2010, 16:38
Hallo,

ich habe hier im Forum eine Prozedur gefunden, mit der sich die Tabstops setzen lassen. Diese macht nichts anderen, als den Paragraph zu formatieren und zu setzen. Genau das gleiche mache ich mit meinem Code über eine andere Komponente nach Belieben. Nun will ich aber, dass ein Standard-Tabstop bei Programmstart gesetzt wird - und da kommt nun der Code ist Spiel.

Leider funktioniert er nur, sobald mindestens ein Zeichen Text im RichEdit vorhanden ist. Selbstverständlich sind die RichEdits aber bei Start leer.

Es muss doch aber möglich sein, default-Werte für einen Paragraphen zu setzen... oder

Hier - der Vollständigkeit halber - der gefundene Quelltext

Delphi-Quellcode:
procedure SetTabstops( re: TRichedit; TabPositions: array of single );
Var
  pf: TParaFormat;
  i : Integer;
  charwidth : Integer;
begin
  Assert( Assigned( re ), 'SetTabstops: re cannot be nil' );
  FillChar( pf, sizeof(pf), 0);
  pf.cbSize := Sizeof( pf );
  pf.dwmask := PFM_TABSTOPS;
  if High(TabPositions) >= MAX_TAB_STOPS then
    pf.cTabCount := MAX_TAB_STOPS
  else
    pf.cTabCount := High(TabPositions)+1;
  For i:= 0 To pf.cTabCount-1 Do
    pf.rgxTabs[i] := Trunc(TabPositions[i] * 1440);

  ShowMessage(IntToStr(re.perform( EM_SETPARAFORMAT, 0, Integer( @pf ))));
  ShowMessage(SysErrorMessage(GetLastError()));
end; { SetTabstops }
Bitte helft mir. Vielen Dank.
  Mit Zitat antworten Zitat