AUMENTAR ALGUNS CONTROLES DO FORM, NAO TODOS

USUARIO.EXCLUIDOS 09/04/2007 12:16:54
#210810
quando o usuário maximiza a tela os controles ficam no tamnho de acordo com o tamanho da tela. a função é essa:
Private Sub AumentaForm()
On Error Resume Next

'FUNÇÃO QUE AJUSTARÁ OS CONTROLES MESMO QUANDO A JANELA ESTIVER MAXIMIZADA
Dim CTL As Control

WidDiff = (frmPesquisaWebPFJ.width / OldFrmWid)
HeiDiff = (frmPesquisaWebPFJ.height / OldFrmHei)

For Each CTL In Controls
With CTL
If .left > 0 Then
.left = (CTL.left * WidDiff)
End If

.top = (CTL.top * HeiDiff)
.width = (CTL.width * WidDiff)
If Not TypeOf CTL Is TextBox Then
.height = (CTL.height * HeiDiff)
End If
End With
Next CTL

OldFrmWid = frmPesquisaWebPFJ.width
OldFrmHei = frmPesquisaWebPFJ.height


'OldFrmWid = frmPesquisaWebPFJ.width
'OldFrmHei = frmPesquisaWebPFJ.height

frmPesquisaWebPFJ.Refresh
End Sub

chamo no resize do form. todos os meus controles estão dentro de um frame. só q eu queria aumentar a largura de apenas dois controles. que é o objeto webbrowser e o textbox.

como faço?


LIZANDRO 09/04/2007 12:59:17
#210812
Tire esse pedaço:

    For Each CTL In Controls
With CTL
If .left > 0 Then
.left = (CTL.left * WidDiff)
End If

.top = (CTL.top * HeiDiff)
.width = (CTL.width * WidDiff)
If Not TypeOf CTL Is TextBox Then
.height = (CTL.height * HeiDiff)
End If
End With
Next CTL


Isso faz ele mexer com todos os objetos que encontrar

Coloque somente os seus:

    
With textbox'e seu webbrouser
If .left > 0 Then
.left = (textbox.left * WidDiff)
End If
.top = (textbox.top * HeiDiff)
.width = (textbox.width * WidDiff)
End With

USUARIO.EXCLUIDOS 09/04/2007 13:11:26
#210815
então kra eu fiz isso:

WidDiff = (txtObs.width / OldFrmWid)
HeiDiff = (txtObs.height / OldFrmHei)

With txtObs
If .left > 0 Then
.left = (txtObs.left * WidDiff)
End If
.top = (txtObs.top * HeiDiff)
.width = (txtObs.width * WidDiff)
End With

OldFrmWid = txtObs.width
OldFrmHei = txtObs.height

e não aumentou quando maximizei o form. o meu textbox está dentro de um frame. tentei aumentar o frame também e naum deu certo.

o q pode ser?

USUARIO.EXCLUIDOS 09/04/2007 13:20:22
#210816
Resposta escolhida
Dim CTL As Control

WidDiff = (frmPesquisaWebPFJ.width / OldFrmWid)
HeiDiff = (frmPesquisaWebPFJ.height / OldFrmHei)

For Each CTL In Controls
With CTL
if .name = "SeuTextBox" or .name = "Seu Web Browser" then
If .left > 0 Then
.left = (CTL.left * WidDiff)
End If

.top = (CTL.top * HeiDiff)
.width = (CTL.width * WidDiff)
If Not TypeOf CTL Is TextBox Then
.height = (CTL.height * HeiDiff)
End If
End if
End With
Next CTL

OldFrmWid = frmPesquisaWebPFJ.width
OldFrmHei = frmPesquisaWebPFJ.height


'OldFrmWid = frmPesquisaWebPFJ.width
'OldFrmHei = frmPesquisaWebPFJ.height
USUARIO.EXCLUIDOS 09/04/2007 13:34:15
#210820
kra naum funfou. exatamente o q vc passou:

Dim CTL As Control

WidDiff = (frmPesquisaWebPFJ.width / OldFrmWid)
HeiDiff = (frmPesquisaWebPFJ.height / OldFrmHei)

For Each CTL In Controls
With CTL
'If .Name = "SeuTextBox" Or .Name = "Seu Web Browser" Then
If .Name = txtObs Or .Name = WebLink Then
If .left > 0 Then
.left = (CTL.left * WidDiff)
End If

.top = (CTL.top * HeiDiff)
.width = (CTL.width * WidDiff)
If Not TypeOf CTL Is TextBox Then
.height = (CTL.height * HeiDiff)
End If
End If
End With
Next CTL

OldFrmWid = frmPesquisaWebPFJ.width
OldFrmHei = frmPesquisaWebPFJ.height

e naum funfou


USUARIO.EXCLUIDOS 09/04/2007 13:35:38
#210821
achei q poderia ser por estar dentro do frame, mais naum é.
USUARIO.EXCLUIDOS 09/04/2007 13:40:03
#210824
o problema é q naum coloquei aki entre aspas:

If .Name = txtObs Or .Name = WebLink Then

teria q ser assim: If .Name = "txtObs" Or .Name = "WebLink" Then

só q eu queria os botões e um label q tenho fiquem no mesmo lugar quando a janela for aumentada, da mesma forma q se encontra quando a janela está do tamanho normal

como faço?
USUARIO.EXCLUIDOS 09/04/2007 14:05:49
#210832
onsegui

é só colocar o o label e o botão no if.

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