DUVIDA NO FORM MDI
alguem sabe me dizer o que esta errado ou o que fazer para meu form abrir sempre na mesma posição dentro de um MDI pois ja coloque no load FORM.MOVE 0,0 mas quando fecho e abro novamente ele muda de posição
Primeiro, os forms que esta abrindo são MDIChild?
Se sim, eles devem obdecer suas configurações de TOP e LEFT
Se sim, eles devem obdecer suas configurações de TOP e LEFT
ALMARTI são child mas não obedeçe.
Jair o que o Almarti disse é verdade.
Eu uso em meus programas a seguinte função para centralizar qualquer form, seja MDIchild ou não e também com ou sem o MDIPai estar aberto.
Para usar no Load de cada form use:
Eu uso em meus programas a seguinte função para centralizar qualquer form, seja MDIchild ou não e também com ou sem o MDIPai estar aberto.
Public Sub CentralizaForm(F As Form)
Dim TopXTop As Integer, TopYLeft As Integer
If F.MDIChild Then
TopYLeft = (MDIAmbiente.ScaleWidth - F.ScaleWidth) / 2
TopXTop = ((MDIAmbiente.ScaleHeight - F.ScaleHeight) / 2) - 100
Else
If Form_Esta_Carregado("MDIAmbiente") = True Then
TopYLeft = ((MDIAmbiente.Width - F.Width) / 2) + MDIAmbiente.Left
TopXTop = ((MDIAmbiente.Height - F.Height) / 2) + MDIAmbiente.Top
Else
TopYLeft = (Screen.Width - F.Width) / 2
TopXTop = (Screen.Height - F.Height) / 2
End If
End If
F.Move TopYLeft, TopXTop
End Sub
Public Function Form_Esta_Carregado(NomeForm As String) As Boolean
Dim Frm As Form
For Each Frm In Forms
If Frm.Name = NomeForm Then
Form_Esta_Carregado = True
Exit Function
End If
Next
Form_Esta_Carregado = False
End Function
Para usar no Load de cada form use:
CentralizaForm Me
Só um detalhe, o "MDIAmbiente" é o nome do formulário MDIPai ok.
luiz ja baixei o centralizaform aqui do site mas continua o mesmo vou testar com a sua versão obrigado.
Jair veja se a propriedade StartUpPosition = 0-Manual para seguir o código do Load.
tambem tá certo não sera porque é sexta-feira 13 , já aconteceu isto um tempo atras mas era autoshowchildren = true mas desta vez não .
JAIR300 tem certeza que seus forms (filhos) estão com a propriedade MDICHILD igual a TRUE?
Se estiverem coloque no Form_Load() o seguinte (exemplo):
me.top=1000
me.left=1000
AGORA o mais usual é usar uma rotina para centralizar qualquer form, como postou nosso amigo LUIS HERRERA.
Se estiverem coloque no Form_Load() o seguinte (exemplo):
me.top=1000
me.left=1000
AGORA o mais usual é usar uma rotina para centralizar qualquer form, como postou nosso amigo LUIS HERRERA.
GALERA VALEU PELA AJUDA MAS " MOVE 0,0" OU "CENTRALIZAFORM" NÃO DEU CERTO . MAS PARA MINHA FELICIDADE FOI A DICA DO AMIGO FRAU QUE DEU CERTO . POR ISSO ESTOU ENCERRANDO O TOPICO E MAS UMA VEZ VALEU AMIGOS .
Tópico encerrado , respostas não são mais permitidas