AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

lästiges beepen abstellen ??

Ein Thema von erniepb · begonnen am 11. Jun 2002 · letzter Beitrag vom 18. Jun 2019
Antwort Antwort
Seite 6 von 6   « Erste     456   
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#51

AW: lästiges beepen abstellen ??

  Alt 18. Jun 2019, 05:39
Hallo,
stimmt, also soll er die Methode mit dem Char mal ausprobieren.
Heiko
  Mit Zitat antworten Zitat
Ron67

Registriert seit: 10. Sep 2018
Ort: Großraum Nürnberg
13 Beiträge
 
Delphi 12 Athens
 
#52

AW: lästiges beepen abstellen ??

  Alt 18. Jun 2019, 12:08
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.
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
702 Beiträge
 
Delphi 12 Athens
 
#53

AW: lästiges beepen abstellen ??

  Alt 18. Jun 2019, 12:38
Hallo zusammen, ich habe etwas ähnliches.

Bei mir gibt es u.a. zwei Edit-Felder. Meistens füllt man nur das zweite aus. Daher hat das erste Editfeld kein Tabstob
Mit der Tastenkombination Alt + V soll der Fokus aber auf das erste Edit-Feld gelegt werden.
Mal ein komplett anderer Ansatz:
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 .
Peter Below
  Mit Zitat antworten Zitat
Ron67

Registriert seit: 10. Sep 2018
Ort: Großraum Nürnberg
13 Beiträge
 
Delphi 12 Athens
 
#54

AW: lästiges beepen abstellen ??

  Alt 18. Jun 2019, 12:53
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;
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#55

AW: lästiges beepen abstellen ??

  Alt 18. Jun 2019, 15:35
Hallo,
Zitat:
Die Methode mit dem Char hat kein Parameter Shift.
Wäre vielleicht trotzdem gegangen
https://docs.microsoft.com/en-us/win...tasynckeystate
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 6   « Erste     456   


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 04:41 Uhr.
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