Ich habe einen Modaldialog mit einem OK und einem Abbrechen Knopf. Für OK setze ich die Eigenschaft Default
auf True und für die Schaltfläche Cancel die Eigenschaft Cancel
. ModalResult wird auf mrOK
und mrCancel
gesetzt.
Wenn Sie jedoch weder die Eingabetaste noch die Esc -Taste auf meiner Tastatur drücken, wird der Dialog geschlossen. Was habe ich hier vermisst?
bearbeiten
Ich habe eine kleine Testanwendung im verdächtigen Dialog auf meiner Website veröffentlicht. IDE ist RAD Studio XE3.
Für die Aufzeichnung sollte dies funktionieren. Es scheint jedoch, dass TSpinEdit einen Fehler hat. Da TSpinEdit ein Beispiel ist (Vcl.Samples.Spin.pas, beachten Sie die "Samples"), können Sie dies selbst beheben.
Fügen Sie zu TSpinEdit die folgende Methodendeklaration hinzu, die nur auf WMCut folgt:
%Vor%Vervollständige die Klasse (Umschalt + Strg + C) und füge den folgenden Code zu WMGetDlgCode hinzu:
%Vor%Dadurch wird VCL mitgeteilt, dass das Bearbeitungssteuerelement die Enter- und Escape-Schlüssel (VK_ENTER, VK_ESCAPE) nicht verarbeiten soll. Da die Schlüssel nicht verarbeitet werden, werden sie an die Schaltflächen weitergeleitet, die dann basierend auf ihren Einstellungen (Standard & amp; Cancel) aufgerufen werden.
Bitte melden Sie dies unter Quality Central
Tags und Links delphi modal-dialog