How can I enable few buttons in few forms?

In VB6 few forms does include a button called cmdDelete, few other do not include this button. On main form load I would like to run some code to enable cmdDelete wherever it is found in a form. cmdDelete.enabled is been set to False in design time, so I need to change it to True during run time.
Any idea?
HJ.
hjaabanAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

sohilmCommented:
pretty simple actually, all you have to do is in the form load event type in cmdDelete.Enabled = true.

Thanks
Sohil
0
sohilmCommented:
oops misunderstood. Try this logic.
  Go through all child forms (not sure of vb6 but in .net there is an mdichildren container you can interate through).
    For each child form go through all controls (there  shuold be a control container).
      Check the name of the control contaiter to see if it is cmddelete
         if so just enable it.

Hope this helps.
0
Mikal613Commented:
private sub EnableDelete()
Dim fun As CommandButton

For Each fun In Controls
    If fun.Name = "cmdDelete" Then fun.Enabled = False
Next
End Sub
0
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

Mikal613Commented:
put in in form_Load

private sub EnableDelete()
Dim fun As CommandButton

For Each fun In Controls
    If fun.Name = "cmdDelete" Then fun.Enabled = False
Next
End Sub
0
hjaabanAuthor Commented:
Mikal613,
you are close to give me answer, but I get error message says Type mismatch for fun.
Also I need to run code to scan all forms that include cmdDelete and skip those which don't include cmdDelete.
Any new?
HJ.
0
Mikal613Commented:
dim frm as Form
dim fun as Control

for each frm in forms
   for each fun in controls
          if fun.Name = "CmdDelete" then
                 fun.enabled = False
          end if
   next  
 
next
0
hjaabanAuthor Commented:
The following code compiles and runs:

Dim frm As Form
Dim fun As Control
For Each frm In Forms
   For Each fun In frm
          If fun.Name = "cmdDelete" Then
            frm.cmdDelete.Enabled = True
          End If
    Next
Next

But I don't know why unloaded forms are not be effected by the above code.
for example: form frmstudent does not change the status of cdmDelete button, unless I open it and run the code again.
any idea how can I make all forms (loaded and unloaded) take changes?
0
Mikal613Commented:
you cant change an unloaded form at runtime unless you load all the forms at runtime and then run the procedure

or just put the control loop on every form load you wanna enable the button
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Dameon1Commented:
Of course you could have an EnableDelets sub on all of the forms with the button. You wouldn't have to loop.
In forms:
Sub EnableDelete
cmddelete.enabled = true
End Sub

To enable all delete buttons:

Sub EnableAllDeletes
frmA.enabledelete
frmb.enabledelete
...
End SUb

If neccesary you could have the forms with delete buttons added to a collection. You could then loop through the collection and do EnableDelete on each one instead of using the sub above.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming

From novice to tech pro — start learning today.