The attached form looks exactly like the standard input box except that since it is a form you have full control over what you do with it. I've added the following properties to the form.
VB Code:
' frmInputBox.ButtonClicked ' Returns vbOK or vbCancel
' depending on the button clicked
' frmInputBox.Default ' Returns/sets the initial value
Just being pedantic here, but is there any way of giving the OK button the 'raised' look?
In frmInputBox when you select the OK button it gets raised, but then has
the dotted line around it. If you subsequently select the text box it goes flat again.
Unlike the real one.
An InputBox form is a great idea. However, what is the point of ButtonClicked? It does not seem to do anything to unload the form. One's own code must be added. The Index of the CommandButtons could be used directly instead of having the variables btnOK and btnCancel and checking their integers. The following looks pointless.
Code:
Select Case Index
Case btnOK
ButtonClicked = vbOK
Case btnCancel
ButtonClicked = vbCancel
End Select
Last edited by Phantom1; Dec 28th, 2011 at 01:05 PM.
Learning to Program on Earth until I go into Outer Space...
However, what is the point of ButtonClicked? It does not seem to do anything to unload the form. One's own code must be added.
From the code of that form, it appears that inputbox form is hidden during cmdButton_Click. The routine that calls the frmInputBox.Display should also unload frmInputBox in my opinion.
Originally Posted by Phantom1
The Index of the CommandButtons could be used directly instead of having the variables btnOK and btnCancel and checking their integers.
I think this is for convenience. You see Ok & Cancel buttons on the form, it makes sense to return a vbOk or vbCancel value instead of 0 or 1 for example. Just my opinion
For Martinliss. Suggest adding this to the Form_Unload event. Should a user unload the form by clicking the (X) close button, it will be registered as a cancel action
Code:
If ButtonClicked = 0 Then ButtonClicked = vbCancel
Insomnia is just a byproduct of, "It can't be done"
ButtonClicked is a Property that you can check from another form. For example in Form1
MsgBox frmInputBox.ButtonClicked
Originally Posted by LaVolpe
I think this is for convenience. You see Ok & Cancel buttons on the form, it makes sense to return a vbOk or vbCancel value instead of 0 or 1 for example.
I understand now.
I do not use all the properties, so I use a simpler InputBox form of my own. Nevertheless, I would not have thought of a form acting as InputBox without this thread.
Learning to Program on Earth until I go into Outer Space...
→ The Comprehensive Guide to Cloud Computing
A complete overview of Cloud Computing focused on what you need to know, from selecting a platform to choosing a cloud vendor.