Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tastaureingabe bei dyn. erstellter Form überwachen (https://www.delphipraxis.net/43382-tastaureingabe-bei-dyn-erstellter-form-ueberwachen.html)

TeTSuO 3. Apr 2005 12:16

Re: Tastaureingabe bei dyn. erstellter Form überwachen
 
Zitat:

Du solltest aber schon ein wenig Vorkentnisse in OOP haben, die du hier kriegen kannst ;)
Die Vorkenntnisse hab ich schon ich hab schon mehre klassen programmiert.
Ich hab aber gedacht ob es vielleicht so geht damit ich nicht so viel proggen muss

Delphi-Quellcode:

Type TMsgForm = class(TForm)
     published
        property OnKeyPress: TKeyPressEvent;
 End;

Var AMsgDialog : TMsgForm;
Dann klappt das aber nicht mehr mit

Delphi-Quellcode:
  AMsgDialog := CreateMessageDialog(Cap, GetmtType(uType), Getbtns(uType));
Das wäre das einfachste wenn einer ne idee hätte wie das funzt

malo 3. Apr 2005 12:20

Re: Tastaureingabe bei dyn. erstellter Form überwachen
 
Darf ich fragen, WAS nicht klappt?

TeTSuO 3. Apr 2005 12:30

Re: Tastaureingabe bei dyn. erstellter Form überwachen
 
Zitat:

Zitat von malo
Darf ich fragen, WAS nicht klappt?

Bei dem Aufruf
Delphi-Quellcode:
AMsgDialog := CreateMessageDialog(Cap, GetmtType(uType), Getbtns(uType));
Steht im Meldungsfenster

[Fehler] MsgBox.pas(47): Inkompatible Typen: 'TMsgForm' und 'TForm'

malo 3. Apr 2005 12:43

Re: Tastaureingabe bei dyn. erstellter Form überwachen
 
Zeig uns doch mal die Funktion CreateMessageDialog ;)

Ich hab dieses seltsame Gefühl, dass sie als Rückgabewert "TForm" hat ;)

TeTSuO 3. Apr 2005 12:48

Re: Tastaureingabe bei dyn. erstellter Form überwachen
 
Die Function ist in Delphi integriert in der Unit Dialogs und mit dem Hint hab ich gesehen das Sie TForm zurückgibt. :pale:

Was Jetzt

SirThornberry 3. Apr 2005 12:51

Re: Tastaureingabe bei dyn. erstellter Form überwachen
 
du musst die methode auch nicht unbedingt in diese Klasse packen. Du kannst die Methode auch in dein MainForm packen.

TeTSuO 3. Apr 2005 12:57

Re: Tastaureingabe bei dyn. erstellter Form überwachen
 
In diesem Fenster wird aber auch der Esc Button schon abgefragt ich muss es also über das Fenster der MessageBox machen und dem kann ich die Prozedur nicht zuweisen bzw. auslesen

SirThornberry 3. Apr 2005 13:01

Re: Tastaureingabe bei dyn. erstellter Form überwachen
 
musst du nicht

Delphi-Quellcode:
type
  TYourMainForm = class(TFrom)
  [...]
  private
    procedure FOnKeyPressFuerMsgDlg(Sender: TObject; var Key: Char);
    [...]
  end;

[...]
procedure TYourMainForm.FOnKeyPressFuerMsgDlg(Sender: TObject; var Key: Char);
begin
  //das ist nun die OnKeyPress für dein Dialog
end;
[...]
var AMsgDialog: TForm;
begin
  AMsgDialog := CreateMessageDialog(Cap, GetmtType(uType), Getbtns(uType));
  AMsgDialog.OnKeyPress := FOnKeyPressFuerMsgDlg;
  [...]

TeTSuO 3. Apr 2005 13:12

Re: Tastaureingabe bei dyn. erstellter Form überwachen
 
Zitat:

Zitat von SirThornberry
musst du nicht

Der Code funzt super danke. :dp:

Dann muus ich aber wenn ich die Unit in ner anderen App benutze das OnKeyPressEvent anpassen und auch die zuweisung zum Event ändern.

SirThornberry 3. Apr 2005 13:14

Re: Tastaureingabe bei dyn. erstellter Form überwachen
 
hättest du bei deinem ausgangsposting auch gemusst, ansonsten würde nur CreateMessageDialog neu zu schreiben übrig bleiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz