Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi beim RichEdit bei neuer Zeile etwas tun (https://www.delphipraxis.net/138453-beim-richedit-bei-neuer-zeile-etwas-tun.html)

gangs-taas 10. Aug 2009 19:45


beim RichEdit bei neuer Zeile etwas tun
 
Hey,
könntest ihr mir sagen, wie ich in einem RichEdit abfragen ob eine neue Zeile entsteht ?
ich möchte, das delphi vor jede Zeile ein '-' macht aber ich weiß nicht wie ich das sagen kann...
hab überlegt mit on change und dann überprüfen ob 'enter' gedrückt wurde aber ich weiß nicht genau wie ich das überprüfen kann...
hättet ihr da Tipps ?

danke schon mal ^^

gangs-taas 10. Aug 2009 20:00

Re: beim RichEdit bei neuer Zeile etwas tun
 
okay hab das jetzt heraus gefunden, wie ich die enter abfrage bekomme, aber er macht noch ein enter zu viel ...
er schreibt dann

-
hier weiter

obwohl er hinter dem '-' weiter schreiben soll ...
wie kann ich das ändern ?

wenn ich einfach die letzte Zeile lösch geht das nicht ...

Die Muhkuh 10. Aug 2009 20:02

Re: beim RichEdit bei neuer Zeile etwas tun
 
Zeig mal den Code, der das - einfügt.

gangs-taas 10. Aug 2009 20:08

Re: beim RichEdit bei neuer Zeile etwas tun
 
Delphi-Quellcode:
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
 var
i : integer;
Einrück : String;
begin
 If (Key = VK_RETURN) Then
   begin
     Einrück := '';
     For i := 0 To button1.Tag do
       Einrück := Einrück+  '*';
     RichEdit1.Lines.Add(Einrück+'-');
    // RichEdit1.Lines.Delete(RichEdit1.Lines.Count-1);
   end;
end;
wobei er hab ich jetzt festgestellt, sowohl vor dem '-' eine leerzeile als auch danach macht also es kommt raus

Zitat:

-
leerzeile (mit fokus auf dieser)
das ist blöd...

gangs-taas 11. Aug 2009 20:07

Re: beim RichEdit bei neuer Zeile etwas tun
 
hab jetzt übrigens ne lösung ^^

hab das so gelöst :

Delphi-Quellcode:
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
 var
i : integer;
Einrück : String;
begin
 If (Key = VK_RETURN) Then
   begin
     Einrück := '';
     For i := 0 To button1.Tag do
       Einrück := Einrück+  ' ';
     RichEdit1.Lines.Add(Einrück+'-');
   end;
end;

procedure TForm1.RichEdit1Change(Sender: TObject);
var
i,buttonSelected : integer;
wndMain, wndChild: HWND;
Liste : Tstringlist;
Datei : String;
Seitenzahl : Integer ;
begin
  For i := 1 to (RichEdit1.Lines.count -1 ) do
  begin
    if RichEdit1.Lines[i] = '' then
      begin
        RichEdit1.Lines.Delete(i);
        wndMain := FindWindow('TForm1','Mappe');
        if wndMain <> 0 then
        begin
          wndChild := FindWindowEx(wndMain, 0, 'TRichEdit', nil);
          if wndChild <> 0 then
            begin
             PostMessage(wndChild, WM_KEYDOWN ,VK_Left, 0)
            end;
        end;
      end;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 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