zelf een msgbox maken

Status
Niet open voor verdere reacties.

mataio

Gebruiker
Lid geworden
6 apr 2006
Berichten
8
hallo

graag had ik een msgbox zelf ineen geknutseld

http://www.downloadcounter.com/cgi-bin/download.pl?username=ivanm&account=44

aan de hand van deze site heb ik het volgende trachten ineen te knutselen:

Option Explicit

Public b As Double
Public d As Double

Private Sub CommandButton1_Click()
Dim prompt As kt_MsgBoxPromptType
Call ktMsgBoxPromptTypeInit(prompt)
Dim rc As Variant

b = TextBox1.Value
d = TextBox2.Value

If b < d Then
rc = ktMsgBox(" de waarde van d > de waarde van b" _
, vbOKOnly, "fout in de dimensies !" _
, Top:=200, Left:=200 _
, BackColor:=vbWhite _
, IconFile:="g:\redshd.gif" _
, FontName:="Times New Roman" _
, FontSize:=9 _
, BackImage:="g:\naamloos.bmp" _
, ImageWidth:=280 _
, ImageHeight:=100)

TextBox1.BackColor = RGB(0, 255, 255)
TextBox2.BackColor = RGB(0, 255, 255)

Else

TextBox1.BackColor = RGB(255, 255, 255)
TextBox2.BackColor = RGB(255, 255, 255)

End If
End sub

ziet er iemand de fout? want ik krijg een foutmelding...

mataio
 
Beste

ik heb zitte zoeken voor een oplossing en heb deze jammergenoeg niet gevonden
als je deze msgbox wil krijgen in VB maak je best een ander Form aan die je laat popupe
in die form kan je doen wat je wil etc etc

een eigen msgbox maken heb ik niet gevonden daarom stel ik een form voor

Greets geroda
 
Laatst bewerkt:
Msgbox

Nog een oplossing

Maak een userform (Vragen) met een label (Label1) en drie opdrachtknoppen (Command1; Ja, Command2; Nee en Command3; OK)

Kopieer onderstaande code naar UserForm1

Option Explicit

Dim Vrij As Boolean

Private Sub Command1_Click()
If Vrij Then Vragen.Hide
End Sub

Private Sub Command1_Enter()
Kleur Command1
End Sub

Private Sub Command1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Kleur Command1
End Sub

Private Sub Command1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Vrij = False
Select Case KeyCode
Case 13, 32, 74
Vragen.Hide
Case 39
Command2.SetFocus
Case 78
Vragen.Tag = ""
Vragen.Hide
End Select
End Sub

Private Sub Command2_Click()
If Vrij Then Vragen.Tag = "": Vragen.Hide
End Sub

Private Sub Command2_Enter()
Kleur Command2
End Sub

Private Sub Command2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Kleur Command2
End Sub

Private Sub Command2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Vrij = False
Select Case KeyCode
Case 13, 32, 78
Vragen.Tag = ""
Vragen.Hide
Case 37
Command1.SetFocus
Case 74
Vragen.Hide
End Select
End Sub

Private Sub Command3_Click()
If Vrij Then Vragen.Hide
End Sub

Private Sub Command3_Enter()
Kleur Command3
End Sub

Private Sub Command3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Kleur Command3
End Sub

Private Sub Command3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Vrij = False
Select Case KeyCode
Case 13, 32, 74
Vragen.Hide
End Select
End Sub

Private Sub UserForm_Activate()
Dim a As Integer
Dim s As String

s = Vragen.Tag
Do
a = InStr(s, "\")
If a Then Mid(s, a) = vbCr
Loop While a
With Label1
.Height = 50
.Width = 500
.Caption = s
.AutoSize = True
.AutoSize = False
Vragen.Width = .Width + 40
Vragen.Left = (768 - Vragen.Width) / 2
Vragen.Height = .Height + 80
Vragen.Top = 360 - Vragen.Height
.Left = 20
.Top = 10
Command1.Left = .Width / 2 - 24
Command1.Top = .Height + 24
Command2.Left = .Width / 2 + 24
Command2.Top = Command1.Top
Command3.Left = .Width / 2 - 2
Command3.Top = Command1.Top
End With
Command1.Visible = (InStr(s, "?") > 0)
Command2.Visible = Command1.Visible
Command3.Visible = Not Command1.Visible
If Command1.Visible Then Command1.SetFocus Else Command3.SetFocus
Vrij = True
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Vragen.Tag = ""
Vragen.Hide
End Sub


Plaats deze userform in Normal – Formulieren.



Zet onderstaande code in een Normal module:


Public Function Vraag(fVraag As String) As Boolean
Vragen.Tag = fVraag
Vragen.Show
Vraag = (Len(Vragen.Tag) > 0)
End Function


In elk willekeurig VBA programma kun je opnemen:

Als x=true then Vraag “X is waar”
Je klikt dan op OK om verder te gaan.

If Vraag(“Wil je verder gaan?”) then
programma voortzetten
else
programma afbreken
end if

Met am=ndere woorden als de vraag een vraagteken bevat zllen de knoppen Ja en Nee verschijnen anders de knop OK
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan