Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi OnKeyDown/Press Ereignis bei dynamisch erzeugtem Edit (https://www.delphipraxis.net/1986-onkeydown-press-ereignis-bei-dynamisch-erzeugtem-edit.html)

Exciter 3. Jan 2003 21:46

Verdammt, ich krieg's nicht hin !
Zur Entwurfszeit kein Problem ...
Code:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Var User : String;

begin
If (Key= (VK_RETURN)) And Not (Edit1.Text='') Then
   begin
    User := 'IrgendEinUser'
    Server1.SendPrivateMsg(User, Trim(Edit1.Text));
    Edit1.Text:='';
end;
Aber wie erstell ich sowas dynamisch ??? :?

Christian Seehase 3. Jan 2003 23:34

Moin Exiter,

wenn Du so fragst: Gar nicht. ;-)

Du musst die Routine als solche schon im Programm haben, und weist sie dann zur Laufzeit zu.

Vorher muss die Routine natürlich in der Lage sein unabhängig vom verwendeten Edit zu sein:

Delphi-Quellcode:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Var User : String;

begin
  // Nur zur Sicherheit
  if sender ist TEdit then
  begin
    If (Key= (VK_RETURN)) And Not (TEdit(Sender).Text='') Then
    begin
      User := 'IrgendEinUser'
      Server1.SendPrivateMsg(User, Trim(TEdit(sender).Text));
      TEdit(sender).Text:='';
    end;
  end;
end;

Exciter 4. Jan 2003 00:32

Moin Christian !

Jau, das hat hingehaun. Danke !
Aber ich werd das mit dem Chat wohl erstmal in Ruhe lassen.
Ich hab nämlich jetzt noch versucht meinen TEdit(Sender).Text in das auch dyn. erstellte TListView zu schreiben. Aber da hagelt's Exceptions ... GRRR
War wohl doch ein wenig zu heftig für'n Anfang ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 Uhr.
Seite 3 von 3     123   

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