Ajuste auto largura do campo - modo folha de dados
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Usuário Alcides:
Bom Dia.
Gostaria de saber se é possível que o meu subformulário, no modo folha de dados, ao ser aberto seja sempre ajustado ao tamanho do rótulo, conteúdo do campo ou ainda uma largura fixa, tipo aquele ajuste conseguido com o duplo clique na borda do campo.
Agradeço.
Suporte:
Alcides, você pode ajustar a largura através da propriedade ColumnWidth. Utilize o laço For Each para percorrer os campos e alterar a largura. Algo assim:
Dim ctl as control
For each ctl in forms!NomeFormulário.controls
if TypeOf ctl is Textbox OR TypeOf ctl is Combobox then
'Largura -2 é auto ajustável
ctl.columnWidth = -2
'Ou definindo a largura em centímetros. Exemplo 3 cm
'ctl.columnWidth = 3 * 567
end if
next
Definir a largura para cada coluna, fica de acordo com a sua criatividade.
Usuário Alcides:
Como ficaria o código se eu precisasse colocar cada coluna com um tamanho específico?
Exemplo:
Coluna1= 1cm
Coluna2= 3cm
Coluna3= 5cm
Dessa forma todas as colunas ficam com 3 cm
Suporte:
Alcides, você pode colocar o tamanho dos campos em uma matriz Split(). Exemplo:
Private Sub Form_Open(Cancel As Integer)
Dim ctl As control
Dim j%, k
Dim strSeq$
'passa o tamanho dos campos para uma matriz
k = Split("1;4;1;2;2", ";")
For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Or TypeOf ctl Is ComboBox Then
ctl.ColumnWidth = k(j) * 567
j = j + 1
End If
Next
End Sub
Usuário Alcides:
Certíssimo, Avelino.
Não há comentário |