AGB  ·  Datenschutz  ·  Impressum  







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

Application.Messagebox erzeugt Standardton

Ein Thema von Delphi-Laie · begonnen am 22. Jun 2012 · letzter Beitrag vom 25. Jun 2012
Antwort Antwort
Seite 1 von 2  1 2      
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Application.Messagebox erzeugt Standardton

  Alt 22. Jun 2012, 10:59
Hallo Delphifreunde!

Kann mir jemand verraten, warum (bzw. wie man das beseitigt bekommt) die Delphianweisung

if Application.MessageBox('Eingabeliste komplett leeren?', 'Bestätigungsabfrage', mb_yesno) = id_yes then {blabla} den Windows-Standardton (bei mir die Voreinstellung "ding.wav") aufruft?

Die Messagebox wird aufgerufen und zeigt auch das vom Anklicken der jeweiligen Schaltfläche abhängige gewünschte Verhalten.

Ich fand dazu leider nichts in den beiden großen Delphiforen.

Dank im voraus und Gruß

Delphi-Laie
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: Application.Messagebox erzeugt Standardton

  Alt 22. Jun 2012, 11:21
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

AW: Application.Messagebox erzeugt Standardton

  Alt 22. Jun 2012, 11:31
Danke!

Das prinzipiell gleiche Problem und die prinzipiell gleiche Antwort (=Nichtlösung) fand ich zwischenzeitlich auch in einem C++-Forum: http://www.c-plusplus.de/forum/12023-full.

Auch if MessageBox(Application.Handle,'Eingabeliste komplett leeren?', 'Bestätigungsabfrage', mb_yesno)=id_yes then ändert nichts, erzeugt also das gleiche Ärgernis.

Was da nur wieder in Windows "rumgemacht" wurde. Als ob Bildschirmbenutzer blind wären.

MessageDlg bringt hingegen das gewünschte Ergebnis. War mir aber entfallen. Wenn man nicht täglich mit bestimmten Dingen zu tun hat, ist es nach Monaten aus dem Gedächtnis schon wieder entschwunden, und man kann sich herrlich lang mit solchen Kinkerlitzchen aufhalten.

Danke nochmal!

Geändert von Delphi-Laie (22. Jun 2012 um 11:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

AW: Application.Messagebox erzeugt Standardton

  Alt 22. Jun 2012, 11:37
MessageDlg ist ja auch eine Eigenkreation von Borprisegearcadero, wohingegen MessageBox das API-Original aufruft. Das bedeutet aber auch, dass MessageDlg auf allen Windows-Versionen gleich aussieht, die MessageBox sich dagegen anpasst. Was einem nun lieber ist, sollte jeder für sich entscheiden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

AW: Application.Messagebox erzeugt Standardton

  Alt 22. Jun 2012, 11:50
Wobei die Töne ja volle Absicht sind.
Delphi-Quellcode:
MessageBox(0, 'Normal', 'Caption', MB_OK);
MessageBox(0, 'Error', 'Caption', MB_OK or MB_ICONERROR);
MessageBox(0, 'Question', 'Caption', MB_OK or MB_ICONQUESTION);
MessageBox(0, 'Warning', 'Caption', MB_OK or MB_ICONWARNING);
MessageBox(0, 'Info', 'Caption', MB_OK or MB_ICONINFORMATION);
Wer auch bei den FelphiDialogen diese Töne haben will ... MSDN-Library durchsuchenMessageBeep.


Wenn du diese Töne nicht magst, dann stell sie in deinem Windows ab, also dort in der Systemsteuerung.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.588 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Application.Messagebox erzeugt Standardton

  Alt 22. Jun 2012, 12:02
Was da nur wieder in Windows "rumgemacht" wurde. Als ob Bildschirmbenutzer blind wären.
Nur weil ich einen Bildschirm benutze, schaue ich ja nicht unbedingt ständig drauf, schon gar nicht immer auf alle parallel.

Und wer diese Benachrichtigung nicht möchte, kann sich das ja wie schon geschrieben ganz nach Wunsch in Windows konfigurieren...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#7

AW: Application.Messagebox erzeugt Standardton

  Alt 22. Jun 2012, 12:08
Abschalten kann man das akustische Signal ja nur komplett und dann für das gesamte Windows. Manchmal mag es jedoch vorteilhaft sein.

Die Borländer werden schon ihren Grund gehabt haben, eine Eigenlösung hinterherzuschieben und dabei auf diese überflüssige Störeinlage zu verzichten. Und deren Eigenkreation wird sicher rege benutzt, und das nicht nur aus Unkenntnis der API-Kapselung, sondern es wird sich ganz bewußt dafür entschieden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#8

AW: Application.Messagebox erzeugt Standardton

  Alt 22. Jun 2012, 12:26
Der Hauptgrund war aber nicht das Beep, sondern vermutlich die Lokalisierung, denn bei der MessageBox kann man nur schwer die Texte der Buttons anpassen.

MessageDialog basiert intern eben auf der ganz normalen VCL, wie TForm, TLabel, TButton usw.
Wenn man auf den etwas tieferen Dialog-Funktionen der VCL ansetzt, dann kan man damit ganz nette Dinge machen, da man vollen Zugriff auf diese Form besitzt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Application.Messagebox erzeugt Standardton

  Alt 22. Jun 2012, 12:32
Abschalten kann man das akustische Signal ja nur komplett und dann für das gesamte Windows. Manchmal mag es jedoch vorteilhaft sein.
Was verstehst Du unter "komplett"?
Zumindestens unter XP gibt es in der Systemsteuerung Sounds und Audiogeräte, da kann man mehr oder weniger geziehlt auswählen, was beept und was nicht.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#10

AW: Application.Messagebox erzeugt Standardton

  Alt 22. Jun 2012, 12:44
Jeden Ton einzeln, aber komplett für alle Anwendungen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:26 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