AW: MsgBox mit 4 Schaltflächen
21.12.2007 12:41:29
Daniel
Hi
je nachdem, wie man die Hilfe interpretiert.
es gibt Optionen, die kann man durch zusammenaddieren der Werte kombinieren, und es gibt Optionen, da klappt das nicht, weil immer genau eine Option der Gruppe gültig sein kann
das mit dem Zusammenaddieren von Optionen kann nur funktionieren, wenn dadurch immer eindeutige Zustände entstehen.
das ist aber nur gegeben, wenn die einzelnen Werte der Optionen immer einen genügend grossen Abstand haben, dh mindestens der Reihe 2^x zugeordnet ist (dh. jede Option besetzt ein eigenes BIT, das ein- und augeschaltet werden kann)
Wenn man sich die Werte der Optionen der MsgBox so anschaut, wird man feststellen, daß einige Werte dieser Regel entsprechen, und einige nicht, weil die Zahlenabstände zu klein sind und sie die gleiche Bit-Gruppe besetzen.
bei der Anzahl der Buttons sind die Werte der möglichen Optionen 1,2,3,4,5, dh man kann sich immer nur für einen entscheiden, aber nicht mehrere kombinieren (5 könnte sonst ja auch 2 und 3 seien)
wenn man sich die Werte der Hilfe so anschaut, wird man schnell feststellen, was kombinierbar ist, und aus welchen Gruppen immer nur ein Wert gewählt werden kann:
0 vbOKOnly
1 vbOKCancel
2 vbAbortRetryIgnore
3 vbYesNoCancel
4 vbYesNo
5 vbRetryCancel
16 vbCritical
32 vbQuestion
48 vbExclamation
64 vbInformation
0 vbDefaultButton1
256 vbDefaultButton2
512 vbDefaultButton3
768 vbDefaultButton4
0 vbApplicationModal
4096 vbSystemModal
16384 vbMsgBoxHelpButton
65536 VbMsgBoxSetForeground
524288 vbMsgBoxRight
1048576 vbMsgBoxRtlReading
das heißt, die einzige Möglichkeit, in der MsgBox einen 4. Button zu erzeugen, ist die Dazunahme des Help-Buttons,
MsgBox "Hallo", vbYesNoCancel + vbMsgBoxHelpButton
da sich die Texte der Buttons in der MsgBox nicht ändern lassen, bleibt wohl nur der Weg über eine eigene Userform.
Gruß, Daniel