Msgbox

sunflower84

Erfahrenes Mitglied
Hallo

Ich habe einen Countdown programmiert. Wenn man Start klickt fängt der Countdown an runter zu zählen. Wenn er fertig ist kommt ein Vollbild wo man ein Passwort eingeben muss um weiter zu machen. Das ganze ist für ein Internetcaffe gedacht. Das nicht alle Benutzer zu lange im Internet bleiben wenn viel los ist.
Jetzt soll ich aber noch, bevor das Vollbild kommt ein POPUP machen das dem Benutzer sagt das er noch 5 Minuten Zeit hat. Das Popup(MsgBox) muss sich aber auch in den Vordergrund heben. Denn die Popups die ich schon gemacht habe sind immer im Hintergrund auf gegangen.
Ich weiss überhaupt nicht wie ich das machen soll das 5 Minuten vorher ein Popup kommen soll.
Es ist sehr dringend, muss das ganze heute fertig bekommen.
Bin für jede Antwort dankbar :-)

Hier der Code von meinem Countdown:

Option Explicit

Private Declare Function ExitWindowsEx Lib "user32" (ByVal dwOptions As Long, ByVal dwReserved As Long) As Long

Private Const WIN_LOGOFF = 0

Dim s As Integer
Dim m As Integer
Dim h As Integer
Dim sec As Integer
Dim min As Integer
Dim hour As Integer
Dim NameC1 As String
Dim NameC2 As String



Private Sub cmdReset_Click()
Timer1.Interval = 0
DoEvents
Timer1.Enabled = False
DoEvents



End Sub

Private Sub cmdStartTimer_Click()

Timer1.Interval = 1000
Timer1.Enabled = True
'fester Wert eintragen
s = 5 'txtSecond.Text
m = 0 'txtMinute.Text
h = 0 'txthour.Text
Label1.Caption = Format(h & " :" & m & " :" & s, "Long Time")
Do
DoEvents
Loop Until s = 0 And m = 0 And h = 0
Label1.ForeColor = vbRed
Timer1.Enabled = False
'Call ExitWindowsEx(WIN_LOGOFF, &HFFFF)
frmLock.Visible = True
Unload Me
End Sub

Private Sub Label9_Click()

End Sub

Private Sub Timer1_Timer()
s = s - 1
If s < 0 And m > 0 Then
m = m - 1
s = 59
ElseIf m <= 0 And h > 0 And s < 0 Then
h = h - 1
m = 59
s = 59
End If
Label1.Caption = Format(h & " :" & m & " :" & s, "Long Time")
End Sub


Liebe Grüße
Nadine
 
Ich weiß jetzt nicht ob das wirklich funktioniert, aber probiers mal einfach so.

Du schreibst in deine Do Loop Schleife nach dem Do Events folgendes:

Code:
 If h = 0 and m = 5 and s = 0 then
 	 msgbox "Sie haben jetzt noch 5 Minuten Zeit das Internet zu nutzen!"
 End if

msgboxen sollten eigentlich automatisch im Vordergrund erscheinen!

Gruß Dignsag
 
Besser gesagt. Ganz falsch ist es ja nicht. Das Popup kommt auch nach der richtigen Zeit aber weg geht es erst wenn ich mindestens 20 mal auf 0k klicke.
Vielleicht eine endlosschleife.
Das kann doch nicht so schwer sein.
 
Ich habe das jetzt gemacht das es funktioniert.
Aber das Problem ist jetzt noch, das sich das Popup nicht in den Vordergrund drängt.
Hat da jemand noch eine Idee?
 
Ich weiß auch wo das Problem bei meiner Methode liegt! Es liegt ganz einfach daran das die Do Schleife mehrmals pro Sekunde durchläuft und sich somit der Zustand der variablen nicht verändert.

Wenn du deinen Timer noch bis auf ms runter mitzählen lässt und das auch noch in die If-Bedingung einbaust, könnte es funktionieren!
 
Zurück