WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   VB: cancel un dok bei msgbox auswerten (http://www.wcm.at/forum/showthread.php?t=105457)

Potassium 13.08.2003 21:43

VB: cancel und ok bei msgbox auswerten
 
kann man bei VB bei den msgbosen auwerten was man drückt also cancel oder ok usw und dann zb mit if eine weiter aktion einleiten wie
if "clicked" = OK then
goto 8
else: end
endif
"clicked" soll das sein was ich suche. oder hat jemand einen besseren vorschlag für mich wie ich das lösen kann?

servman 13.08.2003 21:55

ja, das kann man.

erg=msgbox (......)

je nach button enthält dann erg einen bestimmten integer-wert, denn du auswerten kannst

msgbox in der hilfe nachschauen. dort müsstest du alles notwendige finden

Potassium 13.08.2003 21:58

ähem ich hab keine hilfe weil ich die 2. cd ned mehr find und da is die drauf. also könnte bitte einer von euch so lieb sein und mir mal nachsehen. bitte

reemrev 13.08.2003 22:06

Beispiel:

Dim Mldg, Stil, Titel, Hilfe, Ktxt, Antwort, Text1
Mldg = "Möchten Sie fortfahren ?" ' Meldung definieren.
Stil = vbYesNo + vbCritical + vbDefaultButton2 ' Schaltflächen
' definieren.
Titel = "MsgBox-Demonstration" ' Titel definieren.
Hilfe = "DEMO.HLP" ' Hilfedatei
' definieren.
Ktxt = 1000 ' Kontext für Thema
' definieren.
Antwort = MsgBox(Mldg, Stil, Titel, Hilfe, Ktxt) ' Meldung anzeigen.
If Antwort = vbYes Then ' Benutzer hat "Ja"

' gewählt.
Text1 = "Ja" ' Operation ausführen.
Else ' Benutzer hat "Nein"
' gewählt.
Text1 = "Nein" ' Operation ausführen.
End If

alle Konstanten: (Konstante, Wert,Beschreibung)

vbOK 1,Schaltfläche OK gedrückt
vbCancel 2,Schaltfläche Abbrechen gedrückt
vbAbort 3,Schaltfläche Abbruch gedrückt
vbRetry 4,Schaltfläche Wiederholen gedrückt
vbIgnore 5,Schaltfläche Ignorieren gedrückt
vbYes 6,Schaltfläche Ja gedrückt
vbNo 7,Schaltfläche Nein gedrückt

für die Variable Stil gibt es noch folgende Konstanten
MsgBox-Argumente

Konstante Wert Beschreibung
vbOKOnly 0 Nur Schaltfläche OK (Voreinstellung)
vbOKCancel 1 Schaltflächen OK und Abbrechen
vbAbortRetryIgnore 2 Schaltflächen Abbruch, Wiederholen und Ignorieren
vbYesNoCancel 3 Schaltflächen Ja, Nein und Abbrechen
vbYesNo 4 Schaltflächen Ja und Nein
vbRetryCancel 5 Schaltflächen Wiederholen und Abbrechen
vbCritical 16 Meldung für kritischen Fehler
vbQuestion 32 Warnung mit Abfrage
vbExclamation 48 Warnmeldung
vbInformation 64 Informationsmeldung
vbDefaultButton1 0 Erste Schaltfläche ist Voreinstellung (Voreinstellung)
vbDefaultButton2 256 Zweite Schaltfläche ist Voreinstellung
vbDefaultButton3 512 Dritte Schaltfläche ist Voreinstellung
vbDefaultButton4 768 Vierte Schaltfläche ist Voreinstellung
vbApplicationModal 0 An die Anwendung gebundenes Meldungsfeld (Voreinstellung)
vbSystemModal 4096 An das System gebundenes Meldungsfeld

Potassium 13.08.2003 22:30

wozu brauch ich die werte?

Potassium 13.08.2003 22:41

Ich hab jetzt das Folgende stehen:
....
If strX <> "" And IsNumeric(strX) Then
x = Int(strX)
Else
MsgBox "Text.", (vbYesNo + vbCritical + vbDefaultButton2)
End If
z1 = MsgBox(Style)
If z1 = vbYes Then
GoTo 8
ElseIf z1 = vbNo Then
End
End If
...
aber der ignoriert das ab z1 = ...
und mach statt dessen nur eine msgbox ein lehre mit Ok button hin
was is da falsch

reemrev 13.08.2003 22:57

Welches VB verwendest du ?
(z1 = MsgBox(Style) kenn ich nicht)

Probier:
z1 = MsgBox("Irgend ein Text", vbYesNo + vbCritical + vbDefaultButton2,"Achtung") ' Meldung anzeigen.

Jaguar 13.08.2003 23:01

Zitat:

Original geschrieben von potassium
Ich hab jetzt das Folgende stehen:
....
If strX <> "" And IsNumeric(strX) Then
x = Int(strX)
Else
MsgBox "Text.", (vbYesNo + vbCritical + vbDefaultButton2)
End If
z1 = MsgBox(Style)
If z1 = vbYes Then
GoTo 8
ElseIf z1 = vbNo Then
End
End If
...
aber der ignoriert das ab z1 = ...
und mach statt dessen nur eine msgbox ein lehre mit Ok button hin
was is da falsch

is logisch weil du in der einen zeile mit dem z1=MsgBox(Style) eine neue Messagebox mit dem Wert der Variablen Style erstellst. Style hat aber nirgends wo nen wert bei dir, noch hast du in der Zeile irgendwelche Parameter für die Buttons übergeben. Wenn ich deinen Code mal richtig interpretiere willst du eher das machen

Code:

z1 = MsgBox ("Text.", vbYesNo + vbCritical + vbDefaultButton2)

Potassium 13.08.2003 23:43

thx @ reemrev
endlich hab ich deinen vorschlag verstanden. es funzt perfekt. das fertige proggi gibts hier
danke nochmal für alle vorschläge.

Potassium 14.08.2003 00:32

tut leid hab mich oben vertippt. hier gibts das proggi.


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag