dtredwell 02-28-2005, 04:28 PM Im making an interface engine and one of the basic things i need is to set all the labels to the same font.I did a loop for each label but i dont think im calling it correctly.
For Each Label In Form1 (instead or form1 put Me?)
Label.Font = "Tahoma" <- the problem line with error "doesnt support this property or method"
Next
any ideas?
noi_max 02-28-2005, 04:32 PM If you want to change all of the labels:
Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeOf ctrl Is Label Then
ctrl.Font = "Tahoma"
End If
Next
dtredwell 02-28-2005, 04:45 PM How would i refer to the form from a module? (instead of using Me or the form's name)
MikeJ 02-28-2005, 04:58 PM You would use the form's name... Why can't you do that?
dtredwell 02-28-2005, 05:11 PM Because this isnt going to be used for one form, Its meant to manage all the forms throughout the project.
MikeJ 02-28-2005, 06:00 PM Well you could loop through the Forms collection too.
Dim frm As Form, ctl As Control
For Each frm in Forms
For Each ctl in frm.Controls
If TypeOf frm.ctl Is Label Then
frm.ctl.Font = "Tahoma"
End If
Next
Next
dtredwell 03-01-2005, 05:40 AM Ok, so ive got all that sorted, thanks!
Now i just need to see if the name of each object it loops through has a certain prefix.
ie. itl change all the properties of textboxes, as long as they are using the txt prefix in thier names (like txtPass etc.)
any ideas?
stevo 03-01-2005, 05:46 AM when you are going through the loop, check the first 3 letters of the controls name
If Left$(ctl.Name, 3) = "txt" Then
dtredwell 03-01-2005, 06:22 AM Great, now how can i make an object on event. like say i clicked command1 it would make a textbox etc etc. (not just make it visible)
Ales Zigon 03-01-2005, 09:58 AM Use "Load" command. Like this:Load Textbox1(x) where the "x" is the corresponding index
dtredwell 03-01-2005, 11:23 AM That doesnt work, it needs it already in the form, which i dont want =(
dtredwell 03-01-2005, 02:56 PM Ok, maybe i put that wrong.
i need it to be able to make a label / textbox / timer / line / button ( as much as possible ) WITHOUT inserting it into the form , so loadig it via some code then setting the functions?
i dont know if this is possible but i sure hope it is.
any help GREATLY apreciated.
VBProg 03-01-2005, 03:13 PM if you are not inserting in a form, why you want to load controls
dtredwell 03-01-2005, 04:06 PM so that itl only have them if the settings define so.
MikeJ 03-01-2005, 06:20 PM What? I'm seriously not understanding what you are trying to achieve. Can you please describe what you are trying to do?
:confused:
VBProg 03-01-2005, 07:06 PM So if the settings define so, you want to load and insert into the form?
If that's the case, why don't you create the inital control and hide it. then show that and/or load more if the settings define so and make them visible.
dtredwell 03-02-2005, 09:08 AM because that makes the form( in vb) messy, and requires more system resources ..
Deadalus 03-02-2005, 10:28 AM You can use Controls.Add, but it's rarely worth the trouble.
http://www.xtremevbtalk.com/showthread.php?t=32555
Note in particular Thinker's remarks in that thread.
See also:
http://www.xtremevbtalk.com/showthread.php?t=20335
|