AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Tastaureingabe bei dyn. erstellter Form überwachen
Thema durchsuchen
Ansicht
Themen-Optionen

Tastaureingabe bei dyn. erstellter Form überwachen

Ein Thema von TeTSuO · begonnen am 3. Apr 2005 · letzter Beitrag vom 3. Apr 2005
 
Benutzerbild von TeTSuO
TeTSuO

Registriert seit: 26. Feb 2005
Ort: Ludwigshafen am Rhein
60 Beiträge
 
Delphi 7 Enterprise
 
#1

Tastaureingabe bei dyn. erstellter Form überwachen

  Alt 3. Apr 2005, 09:58
Hallo erastma

Wie kann ich bei einer dyn. erstellten Form das Ereignis OnKeyPress abfragen
mein Quelltext sieht folgendermasen aus:

Delphi-Quellcode:
interface
...

Function MsgBoxEx(Cap,Text: String;uType: Integer;
                  var appProperty: Boolean;appIniIdent,cbText: String):Integer;
Procedure KeyPressEvent(Sender: TObject; var Key: Char);

var
  AMsgDialog : TForm;

implementation

Function MsgBoxEx(Cap,Text: String;uType: Integer;
                  var appProperty: Boolean;appIniIdent,cbText: String):Integer;
// Eigene MessageBox mit CheckBox die Programmeinstellung anzeigt und setzt
// ------------------------------------------------------------------------
// Übergabewerte
// -------------
// Cap = Caption
// Text = Meldungstext
// uType = Erscheinung wie bei MessageBox
// appProperty = Programmeinstellung
// appIniIdent = unter welchem Eintrag wert in Ini speichern
// cbText = Text der CheckBox
//
// Rückgabewert
// ------------
// Je nach Benutzeraktion
var
  ACheckBox : TCheckBox;
Begin
  // Fenster mit Aussehen von MessageBox erstellen
  AMsgDialog := CreateMessageDialog(Cap, GetmtType(uType), Getbtns(uType));
  // CheckBox auf Fenster erstellen
  ACheckBox := TCheckBox.Create(AMsgDialog);
  with AMsgDialog do
    try
      // Tastatureingaben prüfen
      KeyPreview:=True;
      OnKeyPress:=KeyPressEvent; //<------- Das hier funzt net
      // kein Systemmenü für Form
      BorderIcons:=[];
      // Caption des Fensters auf Übergabewert
      Caption := Text;
      // Fenster vergrößern damit platz für Checkbox
      Height := 159;
      WITH ACheckBox DO
        // CheckBox konfigurieren
        BEGIN
          // Parent auf Fenster zuweisen
          Parent := AMsgDialog;
          // Text auf Übergabewert
          Caption := cbText;
          // an/aus auf Übergabewert
          Checked := appProperty;
          // positionieren
          top := 100;
          Left := 6;
        END;
      // Breite seperat auf Fenster setzten
      ACheckBox.Width := Width;
      // Fenster anzeigen auf Eingabe warten
      Result:=ShowModal;
      // Wenn "Ja","Nein" dann speichern
      if (Result = mrYes) or (ModalResult = mrNo) Then Begin
         appProperty:=ACheckBox.Checked;
         WriteIniB(appIniIdent,appProperty);
      End;
    Finally
      ACheckBox.Free;
      Free;
    End;
End;

Procedure KeyPressEvent(Sender: TObject; var Key: Char);
Begin
 // Wenn Esc bei Meldungsfenster Wert Cancel zurückgeben
 if Key=#27 then Begin
    AMsgDialog.ModalResult:=mrCancel;
    Close;
 End;
End;
”Wer immer nur das tut was er schon kann, wird immer das bleiden was er schon ist”

DiaSchau
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.
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