Search  

   

Latest News  

Problemstellung:Wenn man Etiketten drucken will steht man oft vor einigen Problemen.1. Man möchte nur ein paar Etiketten drucken und beim nächsten Druck braucht man wieder   ein neues Blatt weil freie...
   

Latest Forumposts  

  • Keine Beiträge vorhanden
   

Kommentare  

Tut mir leid Hella, ich kann Dir nicht folgen? 13.04.2017 - 14.04.2017 ergibt bei mir 1 13.04.2017 -...
Gast - Hella
Hallo, Berechne wie folgt, ob "zu früh" oder "zu spät" Rückmeldet. Früher sollte auch mit negativer ...
Gast - Hella
Hallo, mit negativen Werten meine ich z.B. -5 Tage (ohne Wochenende) u.ä. Zur Zeit wird nur die 0 au...
Hallo Hella, wie negative Werte? Kannst Du es erläutern was Du machen willst? Gruß Tommy
Gast - Hella
Hallo, ich bräuchte auch negative Werte bei der Anzahl, wie kann man das realisieren? Liebe Grüße He...
   

Counter  

1071908
HeuteHeute499
GesternGestern1070
Diese WocheDiese Woche1569
Dieser MonatDieser Monat12446
GesamtGesamt1071908
Highest 07.12.2017 : 1250
US
UNITED STATES
US

This page uses the IP-to-Country Database provided by WebHosting.Info (http://www.webhosting.info), available from http://ip-to-country.webhosting.info

   

Download Statistik  

Diese Site enthält 187 Downloads in 30 Kategorien. Gesamtdownloads bisher: 233272
   
Free live stats and visitor counter for Joomla, Wordpress, Drupal, Magento and Prestashop
   

Login

   

User Online

Total: 30 Members: 0 Guests: 30
No members online
   

Beiträge

Ersatz für die Standard MessageBox mit benutzerdefinierten Buttonbschriftungen

Bewertung:  / 6
SchwachSuper 
Details

Problemstellung:
Es ist auf herkömmlichen Weg nicht möglich, die Button-Beschriftungen der Message-Boxen zu ändern.
Die gängigste Methode diese Beschränkung zu umgehen liegt in der Erstellung eines
Formulars mit benutzerdefinierten Buttons.
Nun ist aber sehr mühevoll für jeden Einsatz eine eigenes Formular zuerstellen,
mit 3 oder 4 oder 5 Buttons, Beschriftung jedesmal anders, noch ein anderes Icon usw.
Vor einiger Zeit wurde auf http://www.access-guru.de ein Bsp von unbekanntem Autor vorgestellt
(Alle Rechte liegen trotzdem beim Autor), das alle diese Punkte den Aufwand auf ein Minimum reduziert,
da für alle Einstellungen ein Formular verwendet wird.
Gefüllt wird es durch eine Function der alle benötigten Werte übergeben wird.

Voraussetzungen:

Update vom 23.03.2012
Vielen Dank an Anne Berg für die Erweiterung des Codes auf 7 benutzerdefinierte Buttons

Das Bsp ist unter A00-A03 lauffähig, unter A07 wurde es nicht getestet.

Um das vorgestellte Bsp nutzen zu können, muß man das
Modul
"modMsgBox2" und das
Formular
"frmMsgBox2" in seine DB kopieren.

 

Funktionsweise:
Die Standard-MessageBox wird durch das Modul ersetzt.
Um eine normale herkömmliche MsgBox aufzurufen müssen keine Veränderungen vorgenommen werden.
Aber auch hier kommt schon die neue MsgBox zum Einsatz.
Der Aufruf für eine einfache MsgBox könnte so:
MsgBox2 Title:="Einfache OK-Box", _
          Prompt:="Ganz einfach als Ersatz für das Original", _
          Buttons:=vbOKOnly + vbInformation

oder so:
MsgBox2 "Ganz einfach als Ersatz für das Original", vbOKOnly + vbInformation, _
        "Einfache OK-Box"

Die Anzeige eine MsgBox mit mehreren Buttons und der Weiterverarbeitung der Rückgabewerte

sähe dann so aus:

Select Case MsgBox2(Title:="Und nun?", _
                      Prompt:="Na, ist das was?", _
                      Buttons:=vbYesNoCancel + vbQuestion)
     Case vbYes: MsgBox "Ja"
     Case vbNo: MsgBox "Nein"
     Case vbCancel: MsgBox "Abbruch"
 End Select
Bis hierhin haben wir aber noch nicht das erreicht was das eigentliche Ziel ist, das ändern der Button-Standardbeschriftungen.

Die neue MsgBox bietet die Möglichkeit bis zu 6 benutzerdefinierte Buttons mit beliebigen Text
in der MsgBox anzuzeigen.
Es können ebenfalls die bekannten Symbole mitbenutzt werden.

Desweiteren kann der Default-Button festgelegt werden und auch die Festlegung des Hotkeys .

Um jetzt eine MsgBox mit 5 Buttons und den Beschriftungen "Ja", "Ja, alle", "Nein", "Nein, alle"
und "Abbruch zu erstellen wäre folgender Aufruf erforderlich:

MsgBox2 Title:="Datei überschreiben", _
          Prompt:="Die Datei xyz ist schreibgeschützt." & vbCrLf & _
                  "Soll die Datei überschrieben werden?", _
          Buttons:=vbButton5 + vbCritical , _
          UserButton1:="Ja", _
          UserButton2:="Ja, alle", _
          UserButton3:="Nein", _
          UserButton4:="Nein, alle", _
          UserButton5:="Abbruch"


Es sind aber auch längere Text als Beschriftungen möglich. s. das nächste Bsp.

MsgBox2 Title:="Umfrage", _
          Prompt:="Bitte geben Sie an wie Sie sich zur Zeit fühlen", _
          Buttons:=vbButton4 + vbQuestion, _
          UserButton1:="Ich fühle mich gar nicht gut und möchte dieses dumme Programm beenden", _
          UserButton2:="Mir ist eigentlich alles egal", _
          UserButton3:="Was soll das ganze hier eigentlich?", _
          UserButton4:="Also, ich finde alles ganz klasse!"

Kommen wir jetzt zu den Rückgabewerten der neuen MsgBox.
Folgende Werte werden von den Buttons zurückgegeben:

Button1 = 7
Button2 = 8
Button3 = 9
Button4 = 10
Button5 = 11
Button6 = 12
Button7 = 13

Jetzt kann man daran gehen den Rückgabewert auszuwerten. Nehmen wir dazu unser letztes Bsp.
Der User bekommt je nach seinem Zustand eine Tipp was er tun soll.
Da die MsgBox 4 Buttons hat kann sie die Rückgabewerte 10-13 annehmen.

Dim i As Integer
i = MsgBox2(Title:="Umfrage", _
          Prompt:="Bitte geben Sie an wie Sie sich zur Zeit fühlen", _
          Buttons:=vbButton4 + vbQuestion, _
          UserButton1:="Ich fühle mich gar nicht gut und möchte dieses dumme Programm beenden", _
          UserButton2:="Mir ist eigentlich alles egal", _
          UserButton3:="Was soll das ganze hier eigentlich?", _
          UserButton4:="Also, ich finde alles ganz klasse!")
If i = 7 Then
    MsgBox "Am besten ins Bett legen.", vbOKOnly + vbInformation, "Antwort für Button1"
ElseIf i = 8 Then
    MsgBox "Auch am besten ins Bett legen.", vbOKOnly + vbInformation, "Antwort für Button2"
ElseIf i = 9 Then
    MsgBox "Es wurde nicht über den Sinn gefragt.", vbOKOnly + vbInformation, "Antwort für Button3"
Else
    MsgBox "Das kann ich nicht glauben!!!", vbOKOnly + vbInformation, "Antwort für Button4"
End If

natürlich ist auch mittels "Select Case" eine Auswertung möglich:

Select Case MsgBox2(Title:="Umfrage", _
          Prompt:="Bitte geben Sie an wie Sie sich zur Zeit fühlen", _
          Buttons:=vbButton4 + vbQuestion, _
          UserButton1:="Ich fühle mich gar nicht gut und möchte dieses dumme Programm beenden", _
          UserButton2:="Mir ist eigentlich alles egal", _
          UserButton3:="Was soll das ganze hier eigentlich?", _
          UserButton4:="Also, ich finde alles ganz klasse!")
    Case vbButton1
        MsgBox "Am besten ins Bett legen.", vbOKOnly + vbInformation, "Antwort für Button1"
    Case vbButton2
        MsgBox "Auch am besten ins Bett legen.", vbOKOnly + vbInformation, "Antwort für Button2"
    Case vbButton3
        MsgBox "Es wurde nicht über den Sinn gefragt.", vbOKOnly + vbInformation, "Antwort für Button3"
    Case Else
        MsgBox "Das kann ich nicht glauben!!!", vbOKOnly + vbInformation, "Antwort für Button4"
End Select





Dateien:
Ersatz für die Standard MessageBox

Ersatz für die Standard MessageBox
A00-A03 , A07 nicht getestet

Die Zip-Datei enthält ein Version eine ab A00

Datum 09.01.2008 Dateigröße 45.07 KB Download 4160

Einen Kommentar verfassen

Als Gast kommentieren

0 / 300 Zeichen Beschränkung
Dein Text sollte zwischen 10-300 Zeichen lang sein
Nutzungsbedingungen.
  • Keine Kommentare gefunden