Keine Ahnung wo dein Problem liegt.
Folgendes funktioniert bei mir einwandfrei
Delphi-Quellcode:
procedure TForm4.RichEdit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
fmt,
fmt_old : TParaFormat2;
begin
//Initialize structure
ZeroMemory(@fmt, SizeOf(TParaFormat2));
ZeroMemory(@fmt_old, SizeOf(TParaFormat2));
fmt.cbSize := SizeOf(TParaFormat2);
fmt_old.cbSize := SizeOf(TParaFormat2);
//common settings
fmt.wNumberingStart := 1;
fmt.wNumberingStyle := $200;
fmt.wNumberingTab := 360;
RichEdit1.Perform(EM_GETPARAFORMAT, 0, LPARAM(@fmt_old));
case Key of
VK_RETURN:
begin
fmt.dwMask := PFM_NUMBERING or PFM_NUMBERINGSTART or PFM_NUMBERINGSTYLE or
PFM_NUMBERINGTAB;
if fmt_old.wNumbering <> 0 then
fmt.wNumbering := fmt_old.wNumbering
else
fmt.wNumbering := 2;
end;
VK_TAB:
begin
fmt.dwMask := PFM_NUMBERING or PFM_NUMBERINGSTART or PFM_NUMBERINGSTYLE or
PFM_NUMBERINGTAB or PFM_OFFSETINDENT or PFM_OFFSET;
fmt.dxStartIndent := 300;
fmt.dxOffset := 100;
if fmt_old.wNumbering < 6 then
fmt.wNumbering := fmt_old.wNumbering + 1
else
fmt.wNumbering := 2;
end;
end;
//perform
RichEdit1.Perform(EM_SETPARAFORMAT, 0, LPARAM(@fmt));
end;
Grüße
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.