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 SynEdit und Entf (https://www.delphipraxis.net/41190-synedit-und-entf.html)

kingflo 27. Feb 2005 16:35


SynEdit und Entf
 
Hallo ich habe ein großes problem.
Man kann in meinem Syneditfeld keine einzelne Bustaben mit der Entf Taste entfernen.
Sondern nur Makierten Text kann mir jemand sagen woran das liegt?

sniper_w 27. Feb 2005 17:03

Re: SynEdit und Entf
 
Zitat:

Man kann in meinem Syneditfeld keine einzelne Bustaben mit der Entf Taste entfernen.
Und was ist bitte "Syneditfeld"?

kingflo 27. Feb 2005 17:12

Re: SynEdit und Entf
 
Ich meine Syneditor

kingflo 27. Feb 2005 17:38

Re: SynEdit und Entf
 
Wenn ich manuell das ereignis KeyDown abfrage passiert auch nichts.
Also ich habe die Taste Entf abgefragt und wenn diese gedrückt ist sollte ein ereignis starten, aber nichts passiert

sniper_w 27. Feb 2005 17:43

Re: SynEdit und Entf
 
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
 if Msg.message = WM_KEYDOWN then
        if Msg.wParam = VK_DELETE then Caption := IntToStr(Random(1000));
 Handled := False;
end;
Aber ich weiss immer nocht nicht was "Syneditor" ist. :? :roll: Sry.

kingflo 27. Feb 2005 18:00

Re: SynEdit und Entf
 
Syneditor von Typ TSynEdit Package Synedit siehe sourceforge.net

was soll ich mit dem Code jetzt machen? bzw was soll der mir bringen?

sniper_w 27. Feb 2005 21:08

Re: SynEdit und Entf
 
Zitat:

Wenn ich manuell das ereignis KeyDown abfrage passiert auch nichts.
Also ich habe die Taste Entf abgefragt und wenn diese gedrückt ist sollte ein ereignis starten, aber nichts passiert
In meinem Code wird ein Ereignis zum Leben aufgerufen, und dabei wird Caption von dem Formular auf eine Random Zahl geändert.

Mach es so:
Delphi-Quellcode:
type
  TMyEdit = class(TEdit)
  procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
  end;

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    MyEdit : TMyEdit;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TMyEdit.WMKeyDown(var Message: TWMKeyDown);
begin
 // etaws damit man FeedBack bekommt
 if Message.CharCode = VK_DELETE then Self.Color := RGB(Random(256),Random(256),Random(256));

 inherited;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 MyEdit := TMyEdit.Create(self);
 MyEdit.Parent := Self;
 MyEdit.Visible := True;
 MyEdit.Top := 10;
 MyEdit.Left := 10;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 MyEdit.Free;
end;
Statt TEdit nehme TSynEdit. Sollte funktionieren.

kingflo 27. Feb 2005 22:55

Re: SynEdit und Entf
 
Das hilft mir leider auch nicht.

Also mein Problem ist, dass die entf taste im erreignis KeyDown nicht reagiert im KeyUp aber geht sie.

Alle anderen Tasten gehen auch im key dowm nur die entf taste nicht.

Bitte ich brauche hilfe.

sniper_w 28. Feb 2005 12:31

Re: SynEdit und Entf
 
Kannst du mir die Link zu der Komponente posten. Ich bin 100% sicher dass es so geht.

kingflo 28. Feb 2005 13:08

Re: SynEdit und Entf
 
Neu du hast mich falsch verstanden.

Dein Code ist ja richtig und läuft auch.
Allerdings muss ich im Projekt die entf taste irgendwie als HotKey oder shortcut benutzt haben oder so.
Es liegt auch nicht an Synedit den eigentlich kann man da entfernen.
Und wenn ich mit deinem Code ein neues Edit vom Typ TsynEdit erstelle, dann geht es bei dem neuen auch.

Kann auch sein, dass ich einen Fehler in den Keystrokes von SynEdit habe.

Aber trotzdem Synedit findest du auf http://www.sourceforge.net und dann einfach nach SynEdit suchen

gothic_mike 20. Apr 2005 00:03

Re: SynEdit und Entf
 
Zitat:

Zitat von kingflo
Hallo ich habe ein großes problem.
Man kann in meinem Syneditfeld keine einzelne Bustaben mit der Entf Taste entfernen.
Sondern nur Makierten Text kann mir jemand sagen woran das liegt?

ist zwar schon ne weile her, dass dies gefragt wurde, aber hier dennoch die lösung für dieses problem:

in der datei "SynEdit.Pas" die procedure "TCustomSynEdit.ClearSelection;" folgendermassen ändern:

Delphi-Quellcode:
procedure TCustomSynEdit.ClearSelection;
begin
  ExecuteCommand(ecDeleteChar,#0,nil);
end;
dann funktionierts mit der [entf]-taste...

ps: hab die lösung mal irgendwo im forum von SynEdit gefunden...

Robert_G 20. Apr 2005 00:29

Re: SynEdit und Entf
 
Ist zwar schon etwas länger her, dass ich das Synedit angerührt habe, aber ich glaube ich habe es ohne jegliche Code änderungen oder hässliche Eventhandler Firemeleien gelöst.
Ich glaube KeyStrokes hieß die Property. :gruebel: Wenn du dort Del[IrgendWas]Char[IrgendWas] eine andere Taste zuweist bzw. es löschst wird es diese Funktion für die {Entf]-Taste nicht mehr geben. ;)

Harry M. 20. Apr 2005 01:17

Re: SynEdit und Entf
 
jo das gleiche problem habe ich auch. wobei ich das nicht so schwerwiegend ansehe. das liegt wohl an synedit.


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