Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Application.Messagebox erzeugt Standardton (https://www.delphipraxis.net/168998-application-messagebox-erzeugt-standardton.html)

hathor 24. Jun 2012 18:56

AW: Application.Messagebox erzeugt Standardton
 
Zitat:

Zitat von DeddyH (Beitrag 1172024)
AFAIK ist das eine generelle Einstellung in den Soundoptionen der Systemsteuerung. Ich wüsste nicht, dass man den Beep gezielt im Einzelfall abstellen könnte und konnte auch auf die Schnelle keine diesbezügliche Aussage finden, geschweige denn irgendwelchen Code.

Kann es mit WIN 7 nicht testen: Application.MessageBox ist stumm.

Delphi-Quellcode:
//Beep Off
SystemParametersInfo(SPI_SETBEEP, Word(False), nil, 0);
if Application.MessageBox('Eingabeliste komplett leeren?', 'Bestätigungsabfrage', mb_yesno) = id_yes then BEGIN END;
//Beep On
SystemParametersInfo(SPI_SETBEEP, Word(true), nil, 0);

jaenicke 24. Jun 2012 19:03

AW: Application.Messagebox erzeugt Standardton
 
Ich würde es mir doch sehr verbitten, wenn eine Software an solchen systemweiten Einstellungen herumschraubt. :shock:

hathor 24. Jun 2012 21:06

AW: Application.Messagebox erzeugt Standardton
 
Man darf natürlich das Einschalten nicht vergessen:

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//Beep On
SystemParametersInfo(SPI_SETBEEP, Word(true), nil, 0);
end;

Sir Rufo 24. Jun 2012 21:07

AW: Application.Messagebox erzeugt Standardton
 
Zitat:

Zitat von jaenicke (Beitrag 1172227)
Ich würde es mir doch sehr verbitten, wenn eine Software an solchen systemweiten Einstellungen herumschraubt. :shock:

Ist vor allem witzig, wenn man diese Einstellung bewusst ausgeschaltet hatte und die dann durch ein Programm wieder eingeschaltet werden.

hathor 24. Jun 2012 21:21

AW: Application.Messagebox erzeugt Standardton
 
Dann muss man freundlicherweise beim Programmstart den Zustand abfragen und bei Close wiederherstellen.

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var isON : Integer;
begin
isON:=0;
SystemParametersInfo(SPI_GETBEEP,0,isON,0);
Label1.caption:= IntToStr(isON); //0 = off, 1 = on
end;

DeddyH 24. Jun 2012 21:29

AW: Application.Messagebox erzeugt Standardton
 
Aber worin liegt der Sinn? Wenn ich als Anwender einstelle, dass es bei einer Fehlermeldung bimmeln soll, dann hat es gefälligst auch zu bimmeln. Das kann doch wohl nicht davon abhängen, ob es den Entwickler stört.

himitsu 24. Jun 2012 21:49

AW: Application.Messagebox erzeugt Standardton
 
Sich die alten Einstellungenmerken und dann wieder zurückzusetzen macht ja auch keiner, bzw. der Rücksetzcode wird nicht mehr aufgerufen, da die Fehlerbehandlung vergessen wurde.
Oder das coole Wechselklacken bei IE und Explorer. :thumb:

Nja, das ist wie zu DOS-Zeiten ... Es kann nur einen geben (gleichzeitig), wobei wir das mit Vollbildmetro ja wieder zurückbekommen. :stupid:


Es ist natürlich auch nicht möglich einen eigenen Dialog zu verwenden, wenn man im Programm ein anderes Verhalten benötigt. :roll:


Zitat:

Wenn ich als Anwender einstelle, dass es bei einer Fehlermeldung bimmeln soll, dann hat es gefälligst auch zu bimmeln. Das kann doch wohl nicht davon abhängen, ob es den Entwickler stört.
Genau deswegen gibt es ja globale Standardverhalten, welche der "Benutzer" nach persönlichen Wünschen einstellen kann.

Aber in Zeiten von Skinning und Co. ... Seit wann interessieren da den Programmierer die Wünsche der Endanwender?

hathor 24. Jun 2012 22:04

AW: Application.Messagebox erzeugt Standardton
 
Ihr habt wenig Phantasie!

Es gibt Programme, die man im Silent Mode nutzen will, z.B. in der Öffentlichkeit oder nachts, um niemand zu stören.
Es gibt auch Taube, die müssen optisch auf etwas Besonderes hingewiesen werden - da nützt das ganze Ploppen und Bimmeln nichts!

DENKT NICHT IMMER NUR AN EUCH !!!

Daniel 24. Jun 2012 22:13

AW: Application.Messagebox erzeugt Standardton
 
Sicherlich mag es diverse Umstände und Gründe geben, die Töne an- oder abzuschalten. Dennoch ist es eine Systemeinstellung - und das völlig zu Recht, da besagte Gründe sehr wahrscheinlich auf alle installierten Anwendungen passen werden. Diese Einstellung nur für eine einzige Anwenung zu ändern scheint ein extrem spezieller Fall zu sein. Aber dieser Hinweis wurde nun hinreichend oft genannt und der Rest liegt nun beim Entwickler.

P.S. Kein Grund, gleich Großbuchstaben und Fettschrift zu nutzen, auch wenn man noch so sehr widersprechen möchte.

DeddyH 25. Jun 2012 08:05

AW: Application.Messagebox erzeugt Standardton
 
Zitat:

Zitat von hathor (Beitrag 1172243)
Es gibt Programme, die man im Silent Mode nutzen will, z.B. in der Öffentlichkeit oder nachts, um niemand zu stören.

Wie Daniel schon bemerkte wird dann wohl generell kein Sound wiedergegeben werden (Einstellungssache der Systemoptionen).
Zitat:

Zitat von hathor (Beitrag 1172243)
Es gibt auch Taube, die müssen optisch auf etwas Besonderes hingewiesen werden - da nützt das ganze Ploppen und Bimmeln nichts!

Und wenn es nicht bimmelt, werden Gehörlose aufmerksamer? Niemand hat gesagt, dass man nicht zusätzliche optische Signale verwenden kann/darf/soll, aber etwas hervorzuheben, indem man etwas anderes abschaltet, was der Betreffende sowieso nicht wahrnehmen kann? Dieser Argumentation kann ich nicht folgen, sry.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 Uhr.
Seite 2 von 2     12   

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