Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Pling bei Focuswechsel (https://www.delphipraxis.net/210625-pling-bei-focuswechsel.html)

NoGAD 18. Mai 2022 17:50

Pling bei Focuswechsel
 
Hallo, kann man den Sound abstellen, der bei einem Focuswechsel entsteht?

Delphi-Quellcode:
 if Key = VK_RETURN then
      PostMessage(GetParentForm(Self).Handle, wm_NextDlgCtl, Ord((ssShift in Shift)), 0);
Da macht es immer Pling.

LG Mathias :-)

dummzeuch 18. Mai 2022 17:54

AW: Pling bei Focuswechsel
 
Zitat:

Zitat von NoGAD (Beitrag 1506039)
Hallo, kann man den Sound abstellen, der bei einem Focuswechsel entsteht?

Delphi-Quellcode:
 if Key = VK_RETURN then
      PostMessage(GetParentForm(Self).Handle, wm_NextDlgCtl, Ord((ssShift in Shift)), 0);
Da macht es immer Pling.

Key := 0;

NoGAD 18. Mai 2022 18:08

AW: Pling bei Focuswechsel
 
Huhu. Klappt leider nicht.

Delphi-Quellcode:
if Key = VK_RETURN then
  begin
      PostMessage(GetParentForm(Self).Handle, wm_NextDlgCtl, Ord((ssShift in Shift)), 0);
      Key := 0;
  end;
Es plingt immer noch :-(

KodeZwerg 18. Mai 2022 18:13

AW: Pling bei Focuswechsel
 
Zitat:

Zitat von NoGAD (Beitrag 1506043)
Es plingt immer noch :-(

Ich habe noch nicht gecheckt was Du da aufrufst aber seitens von Windows ertönt ein "Bling" wenn Du zum Beispiel versuchst etwas einen Fokus zu geben was keinen Fokus haben kann, oder das was den Fokus bekommen soll ist noch nicht bereit dafür...

KodeZwerg 18. Mai 2022 18:42

AW: Pling bei Focuswechsel
 
Vielleicht klappt ja Dein Vorhaben besser über ein "OnKey"-Event indem du
Delphi-Quellcode:
SelectNext(Screen.ActiveControl, not BOOL(GetKeyState(VK_SHIFT) and $80), True);
vielleicht sowas für "VK_RETURN" abfängst.

himitsu 18. Mai 2022 19:55

AW: Pling bei Focuswechsel
 
OnKeyPress wird es wohl nicht sein,
aber was nutzt du denn nun?
OnKeyUp oder OnKeyDown?

Durch Key:=0 wird die nachfolgende Standard-Behandlung der Komponenten "unterbunden".
Und von da kommt halt der Piep. Oder bei einem Button würde dort durch Enter die Taste gedrückt.



Andere Lösung: In den Windowseinstellungen den Sound deaktivieren.
Die WaveDatei für dieses Ereignis abschalten ... das wird zwar immernoch das Beep-Ereignis ausgelöst, aber man hört nichts mehr. :roll:
(ich kann jetzt sowas nicht ausprobieren, da ich diesen Sound nicht mehr höre :angle2:)

NoGAD 18. Mai 2022 23:29

AW: Pling bei Focuswechsel
 
Zitat:

Zitat von himitsu (Beitrag 1506052)
OnKeyUp oder OnKeyDown?

OnKeyUp


Zitat:

Zitat von himitsu (Beitrag 1506052)
Durch Key:=0 wird die nachfolgende Standard-Behandlung der Komponenten "unterbunden".
Und von da kommt halt der Piep.

Kann man das an der Stelle programmtechnisch unterbinden? Vielleicht, indem man statt Key:=0 eine andere Taste übergibt, z.B. ein ALT oder Strg?


@KodeZwerg, danke für die Ideen. Ich teste heute früh dann weiter. :-)

KodeZwerg 19. Mai 2022 00:18

AW: Pling bei Focuswechsel
 
Zitat:

Zitat von NoGAD (Beitrag 1506055)
OnKeyUp

Da wird die Taste bereits ausgeführt. Wechsel auf das Down event.

BerndS 19. Mai 2022 07:26

AW: Pling bei Focuswechsel
 
Das Pling sollte verschwinden, wenn man auch KeyPress behandelt.
Etwas so:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    Key := #0;
end;

Andreas13 19. Mai 2022 07:43

AW: Pling bei Focuswechsel
 
[gelöscht]


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:53 Uhr.
Seite 1 von 2  1 2      

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