![]() |
AW: lästiges beepen abstellen ??
Hallo,
stimmt, also soll er die Methode mit dem Char mal ausprobieren. |
AW: lästiges beepen abstellen ??
Danke für die Antworten.
Jetzt fällt mir beim Debuggen auf: Das Beep kommt schon vor der Prüfung auf den Key. Also so <Beep> if (ssAlt in Shift) and (Key = 86) then ... PeekMessage kann ich vergessen. Die Methode mit dem Char hat kein Parameter Shift. Hmm. |
AW: lästiges beepen abstellen ??
Zitat:
Normalerweise hat jedes Eingabecontrol ein zugehöriges TLabel, welches dem Benutzer verklickert, wozu das Eingabecontrol da ist. TLabel hat eine Property FocusControl, mit dem man dem Label quasi das Eingabecontrol zuordnen kann. Wenn man dann in der Caption des Labels einen Buchstaben mit einem & davor versieht (z. B. '&Versicherungsnummer') zeigt das Label diesen Buchstaben unterstrichen an, was der Hinweis für den Benutzer ist, dass dieser Buchstabe ein Shortcut ist. Wenn man dann Alt-<Buchstabe> drückt (im obigen Beispiel also Alt-V) wird der Fokus automatisch auf das dem Label zugehörige Control gesetzt. Fazid: Deine ganzen Klimmzüge sind völlig unnötig :wink:. |
AW: lästiges beepen abstellen ??
Jetzt habe ich es!
1) FormKeyDown benutzen 2) Key = 18 abfangen 3) WM_SYSKEYUP, WM_SYSKEYDOWN beide als Parameter in PeekMessage Der ganze Code:
Code:
procedure TMedikation.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); var Mgs: TMsg; begin if (ssAlt in Shift) and (Key = 18) then exit; if (ssAlt in Shift) and (Key = 86) then begin Key := 0; PeekMessage(Mgs, 0, WM_SYSKEYUP, WM_SYSKEYDOWN, PM_REMOVE); edtVorpraeparat.SetFocus; end; end; |
AW: lästiges beepen abstellen ??
Hallo,
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 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-2025 by Thomas Breitkreuz