John Clark
John.Clark at niagaracounty.com
Mon Aug 1 09:36:33 CDT 2005
I am playing around with a new menu interface, and I am trying to
streamline it a bit, so that it may be reused for different menus with
different quantities of buttons. For instance my main menu has only
three buttons, while the reports menu has nine. Basically, I have
invisible buttons over labels, and I set the focus on a MouseMove and,
when the focus is set, I change the BackColor and ForeColor of the label
to emphasize the current button. I am trying to use the function below
to set all buttons to their default state, and then set the current
button to the "special" color scheme. However, I am getting the error
message, "Object Required" and it refers to both the with statements. If
I comment out these two statements and add in a "Label38.caption =
lblst" the caption of this test label does change properly as I move the
mouse over the buttons.
Can I please get a fresh set of eyes to point out my failing on this?
________________________________________________________________________________________________-
Public Function BtnChange(BtnNum As String, BtnQuan As Integer)
'***** I call this function from each of the OnFocus events of the
command buttons, using the syntax "BtnChange 1, 9"
'***** 1 is the actual button number and thus changes for each
button...they are named lbl01 to lbl09.
'***** 9 is the total num of buttons and does not change.
Dim x As Integer
Dim y As String
Dim lblst As Variant '*** I did have this set to string, but have
changed in an effort to fix the problem ***
x = 1
While x < BtnQuan
y = CStr(x)
lblst = "lbl0" & y
With lblst
.BackColor = 10066329
.ForeColor = 0
End With
x = x + 1
Wend
lblst = "lbl0" & BtnNum
Label38.Caption = lblst '*** this is just a test statement I put in to
verify up to a point.
With lblst
.BackColor = 6381921
.ForeColor = 6670333
End With
End Function
_______________________________________________________________________
Thank you!
John W Clark