mestre fyoda Postado Maio 29, 2006 Denunciar Share Postado Maio 29, 2006 o erro está na linha em vermelho Abrir_ContaPrivate Sub Form_Load()Centraliza (Frame)End SubMDIFORM1Function Centraliza(MDIForm1 As Controls) Me.Left = (MDIForm1.ScaleHeight - Me.Height) / 2 Me.Top = (MDIForm1.ScaleWidth - Me.Width) / 2End Function Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 29, 2006 Denunciar Share Postado Maio 29, 2006 tenta assim:Function Centraliza(MDIForm1 As Control)Me.Left = (MDIForm1.ScaleHeight - Me.Height) / 2Me.Top = (MDIForm1.ScaleWidth - Me.Width) / 2End Function[/code]veja que é Control em vez de Controls. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 29, 2006 Autor Denunciar Share Postado Maio 29, 2006 não deu certo , deu na mesma Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 29, 2006 Denunciar Share Postado Maio 29, 2006 o que é Frame? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 29, 2006 Autor Denunciar Share Postado Maio 29, 2006 Frame é o nome do MDIFrom . o formulario é Abrir_Conta e o nome da MdiForm é Frame . Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 30, 2006 Denunciar Share Postado Maio 30, 2006 então tente:Function Centraliza(MDIForm1 As Form)Me.Left = (MDIForm1.ScaleHeight - Me.Height) / 2Me.Top = (MDIForm1.ScaleWidth - Me.Width) / 2End Function[/code] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 30, 2006 Denunciar Share Postado Maio 30, 2006 A quem se refere esse "Me"? A idéia não seria centralizar o form que é passado no argumento da função?Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 30, 2006 Autor Denunciar Share Postado Maio 30, 2006 está dando erro aqui .Centraliza (Frame)continua no mesmo erro . Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 30, 2006 Denunciar Share Postado Maio 30, 2006 em que formulario esta essa funcao?Function Centraliza(MDIForm1 As Controls)Me.Left = (MDIForm1.ScaleHeight - Me.Height) / 2Me.Top = (MDIForm1.ScaleWidth - Me.Width) / 2End Function[/code] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 30, 2006 Autor Denunciar Share Postado Maio 30, 2006 Module1 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 30, 2006 Denunciar Share Postado Maio 30, 2006 da uma olhada nisso:A quem se refere esse "Me"? A idéia não seria centralizar o form que é passado no argumento da função?Abraços,Graymalkinse a sub esta num module, esse Me se refere a que? Me é um atalho pra acessar o form onde esta o codigo. se me não esta num formulario você não vai conseguir nada.outra coisa, existe um formulario com esse nome: "MDIForm1"? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 30, 2006 Autor Denunciar Share Postado Maio 30, 2006 o form se chama Abrir_Conta_Corrente . e o MDI se chama Frame .esta numa Function :Function Centraliza(MDIForm1 As Form)Me.Left = (MDIForm1.ScaleHeight - Me.Height) / 2Me.Top = (MDIForm1.ScaleWidth - Me.Width) / 2End Function Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 30, 2006 Denunciar Share Postado Maio 30, 2006 Faz o seguinte aí. Coloque essa função no módulo:Public Function Centraliza(ByRef pai As MDIForm, ByVal filho As Form) filho.Left = pai.Width / 2 - filho.Width / 2 filho.Top = pai.Height / 2 - filho.Height / 2 End Function Depois você vai poder fazer isso para centralizar: Centraliza Me, Form1Supondo, é claro, que "Me" é o MDIForm e Form1 é o MDIChild. Ou seja, esse código acima deverá ser executado no form pai (no MDI).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 30, 2006 Autor Denunciar Share Postado Maio 30, 2006 mesmo erro .Private Sub Form_Load()Centraliza Me, Abrir_Conta_CorrenteEnd SubPublic Function Centraliza(ByRef pai As MDIForm, ByVal filho As Form) filho.Left = pai.Width / 2 - filho.Width / 2 filho.Top = pai.Height / 2 - filho.Height / 2End Function Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 30, 2006 Denunciar Share Postado Maio 30, 2006 mesmo erro .Private Sub Form_Load()Centraliza Me, Abrir_Conta_CorrenteEnd SubVocê definitivamente *não* leu o que eu escrevi no último paragráfo do meu último post, né? "Me" se refere ao formulário em que você está, e você não está no MDIForm e sim no MDIChild.Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 30, 2006 Autor Denunciar Share Postado Maio 30, 2006 também fiz assim Centraliza Me, Framee não deu certo , mesmo erro . Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 30, 2006 Denunciar Share Postado Maio 30, 2006 também fiz assim Centraliza Me, Framee não deu certo , mesmo erro .A questão é: onde você colocou isso? Baixe o exemplo que fiz agora: http://www.gs.kitbr.com/stuff/MDI.zipDescompacte, abra no VB e execute. Depois, olhe onde está o código.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 30, 2006 Autor Denunciar Share Postado Maio 30, 2006 Graymalkin já vi oand estava errando , tava colocando no form , e o certo seria no MDI .mas ali no MDi vai ser complcado , porque no caso vou ter varias telas para centralizar , ai como faço para chamalas ?seria bom coloca no form porque ai já fica mais controlado . tem como colocar no form ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 30, 2006 Denunciar Share Postado Maio 30, 2006 Graymalkin já vi oand estava errando , tava colocando no form , e o certo seria no MDI .mas ali no MDi vai ser complcado , porque no caso vou ter varias telas para centralizar , ai como faço para chamalas ?seria bom coloca no form porque ai já fica mais controlado . tem como colocar no form ?Não é a partir do MDI que você chama as telas? Seria só ter uma linha a mais para cada chamada, centralizando a janela:Form1.Show Centraliza Me, Form1 Form2.Show Centraliza Me, Form2 Form3.Show Centraliza Me, Form3Não?Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 30, 2006 Autor Denunciar Share Postado Maio 30, 2006 eu fiz do formulario e deu certo , fazendo do form fica mais facil . vlw galera . boa noite .o que seria ByVal , ByRef ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 30, 2006 Denunciar Share Postado Maio 30, 2006 o que seria ByVal , ByRef ?veja aqui: http://scriptbrasil.com.br/forum/index.php...topic=48769&hl= Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mestre fyoda
o erro está na linha em vermelho
Abrir_Conta
MDIFORM1
Link para o comentário
Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.