MUDAR AS PROPRIENDADES DE UM OBJETO POR LOOP

HENRIQUE290 14/05/2010 12:03:29
#341765
tenho varias caixas de texto num form e queria alterar as propriedades em um loop ao invez de alterar no codigo uma a uma.

exemplo:
With form.CX1
.Font.Name = courier
.Font.Size = 12
.Font.Bold = True
.TextAlign = fmTextAlignCenter
End With

queria aplicar esta formatação em 30 caixas de texto, pensei num loop for
dim tmp as object
for a = 1 to 30
tmp=[Ô]form.cx[Ô] & a
With tmp
.Font.Name = courier
.Font.Size = 12
.Font.Bold = True
.TextAlign = fmTextAlignCenter
End With
next a

mas isso não funciona, sera que tem outra forma de fazer isso??

obrigado
Henrique




ROBIU 14/05/2010 12:39:32
#341767
Resposta escolhida
Sub FormatTextBox(F As Form)
Dim i As Integer
For i = 1 To F.Controls.Count - 1
If TypeOf F.Controls(i) Is TextBox Then
F.Controls(i).Text = [Ô][Ô]
F.Controls(i).Height = 315
F.Controls(i).Font.Name = courier
F.Controls(i).Font.Size = 12
F.Controls(i).Font.Bold = True
F.Controls(i).Alignment = 2
End If
Next i
End Sub

Esta sub está considetando a TextBox nativa do vb6. Caso esteja usando uma Textbox de terceiros, é só trocar o tipo de objeto nesta linha e acertar as propriedades não comum a ambos.

    If TypeOf F.Controls(i) Is TipodoObjeto Then


Para Chamar a Sub

FormatTextBox Me
HENRIQUE290 14/05/2010 14:47:04
#341780
ok obrigado, funcionou como esperad, mas fiz so uma modificão

If TypeOf F.Controls(i) Is TextBox Then

por
if Controls(i).Name Like [Ô]CX*[Ô]) Then

ate mais
Henrique

Tópico encerrado , respostas não são mais permitidas