mrhicks
October 9th, 2001, 03:27 PM
Hello all,
At my present location, we have industrial PCs running on old 486 and P233 class machines which talk to another machine of the same class. There are several forms that are displayed depending upon how the user naviagate through the system. The problem that I am seeing or they are seeing in the field is that people will press a button and expect the form to transition quickly. Depending upon the form certain RPC are made and house keeping is done. Well, if the process takes more than a few seconds they perceive this as the button never registered they clicks so they click the button several times. Well, when the form finally finishes and loads the new form the additional clicks transfer to the next form that is displayed. If there is a button in the same locations as where the clicks were registered it will trigger a click for that button. This affect is not desired and I am trying to figure out a nice approach to solve this problem. I have tried using a boolean like
private Sub Btn1_Click()
if Not m_bFormNotActivatedYet then
' Perform my action now
End If
End Sub
private Sub Form_Activate()
' Last code to execute in Activate
m_bFormNotActivatedYet = false
End Sub
private Sub Form_Load()
' First Statement in Load
m_bFormNotActivatedYet = true
End Sub
This does appear to work. Next I used a timer to help solve this problem, but they don't like the side affect that is introduces. Which is they is a slight delay before they can press a button on the new form and the action takes place. So what I am looking for is some how to flush all keyboard and mouse click events from the que. Is there such a way to do this? I was always thinking of subclassing the form, but I was checking to see if there is another solution to this problem. Thanks
Mark
At my present location, we have industrial PCs running on old 486 and P233 class machines which talk to another machine of the same class. There are several forms that are displayed depending upon how the user naviagate through the system. The problem that I am seeing or they are seeing in the field is that people will press a button and expect the form to transition quickly. Depending upon the form certain RPC are made and house keeping is done. Well, if the process takes more than a few seconds they perceive this as the button never registered they clicks so they click the button several times. Well, when the form finally finishes and loads the new form the additional clicks transfer to the next form that is displayed. If there is a button in the same locations as where the clicks were registered it will trigger a click for that button. This affect is not desired and I am trying to figure out a nice approach to solve this problem. I have tried using a boolean like
private Sub Btn1_Click()
if Not m_bFormNotActivatedYet then
' Perform my action now
End If
End Sub
private Sub Form_Activate()
' Last code to execute in Activate
m_bFormNotActivatedYet = false
End Sub
private Sub Form_Load()
' First Statement in Load
m_bFormNotActivatedYet = true
End Sub
This does appear to work. Next I used a timer to help solve this problem, but they don't like the side affect that is introduces. Which is they is a slight delay before they can press a button on the new form and the action takes place. So what I am looking for is some how to flush all keyboard and mouse click events from the que. Is there such a way to do this? I was always thinking of subclassing the form, but I was checking to see if there is another solution to this problem. Thanks
Mark