• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 160
  • Last Modified:

I want to limit the time an input box is presented...

I have a typical INPUT BOX FUNCTION. It brings up a question and sits waiting for input then the OK button. How can I control the time that the box is presented (I want about 5 seconds) before it the code moves on past it?
0
aaagarb
Asked:
aaagarb
  • 6
  • 4
  • 4
  • +1
1 Solution
 
ChizlCommented:
Create your own InputBox and name the function InputBoxEx
0
 
aaagarbAuthor Commented:
Sorry, but your answer is confusing. I don't understand your intention.
Could you offer the code and explain yourself please?
0
 
amebaCommented:
This is e-mail, written by Karl E. Peterson

It's not really that tough.  Timers are only blocked in the IDE, and will continue to
work in an EXE.  Here's an example.  This works *if* compiled.  Fails otherwise.
Paste this code into a form with a timer and a command button.

Enjoy...   Karl


   Option Explicit
   Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName As String) As Long
   Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd
As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
   Private Const WM_CLOSE = &H10
   Private Const MsgTitle As String = "Test Message"

   Private Sub Command1_Click()
      With Timer1
         .Interval = 2000
         .Enabled = True
      End With
      MsgBox "I should disappear in two seconds.", , MsgTitle
   End Sub

   Private Sub Timer1_Timer()
      Dim hWnd As Long
      Timer1.Enabled = False
      hWnd = FindWindow(vbNullString, MsgTitle)
      Call SendMessage(hWnd, WM_CLOSE, 0, ByVal 0&)
   End Sub

0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
jjmartinCommented:
I think what Chizl is going for is this.  Create your own form that you will display as an input box.  The form will have a label for the prompt to the user, a text box or whatever you need for the users input, and an OK button.  You can also put on a timer control that you can use to limit the time that the input form is displayed.

When you display the form, fill the label with the appropriate prompt for the user, and on the form load, start the timer function that will kill the form after a set time.
0
 
ChizlCommented:
Thanx jjmartin,
I thought that was pretty clear, but guess not.
0
 
aaagarbAuthor Commented:
ameba...this works perfectly if you use an information box. However, I am using an input box which does not go away until you press OK. Can you think of a way to modify your code to accomplish this with an input box.?

0
 
amebaCommented:
OK. Here is modification.

Private Sub Command1_Click()
      With Timer1
         .Interval = 5000
         .Enabled = True
      End With
      Dim ret As String
      ret = InputBox("I should disappear in five seconds.", MsgTitle, "default value")
End Sub

0
 
aaagarbAuthor Commented:
works fine..thanks for persevering.

0
 
ChizlCommented:
I think he was looking for someone to catch the fish for him not learn how to catch the fish for himself.
0
 
amebaCommented:
Nooo, MsgTitle was on a wrong place. It confused me, also.
0
 
ChizlCommented:
No, I was talking about aaagarb or is ameba = aaagarb?  Both seem to be really confused.  MsgTitle being is the wrong place confused you and it's your code.
0
 
amebaCommented:
>really confused (RC)
OK. I can prove you everybody can be RC. See your e-mail box in a minute.
0
 
ChizlCommented:
Mathmatics is a wonderful thing..  :)
0
 
ChizlCommented:
Now that I know who you are..  
0
 
aaagarbAuthor Commented:
Not the forum for "can you top this?" wars.
Thanks both for your time and comments.

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 6
  • 4
  • 4
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now