CLASSE COM OBJETO FORM

 Tópico anterior Próximo tópico Novo tópico

CLASSE COM OBJETO FORM

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#186685 - 28/11/2006 08:41:38

LOOZE
MOGI-GUACU
Cadast. em:Janeiro/2005


Bom dia....
Estou com esta função em um modulo, ela funciona perfeitamente., o que eu desejo fazer é coloca-la em uma classe e compilar gerando assim uma dll de todas minhas funções,.. o proplema é esta função que não aceita tipo de objeto na classe. Como poderia funcionar na classe?

Ele retorna erro na (f as Form), pois ele não aceita que seja o nome do objeto, tentei mudar para object mais não consegui chamar a função.

Public Sub CentraNaTela(f As Form)
With f
    If f.WindowState = vbNormal Then
        If f.MDIChild = True Then                                              'se for "filho" do principal
            .Left = (Mdi_Capa.Width / 2) - (f.Width / 2)
            .Top = ((Mdi_Capa.Height / 2) - (f.Height / 2)) - 300               'titlebar
        Else
            .Top = (Screen.Height - f.Height) / 2                              'caso contrário,
            .Left = (Screen.Width - f.Width) / 2                               'centraliza na tela
        End If
    End If
End With
End Sub

Public Sub Resize_Form(ByRef MDI As Form, ByRef myForm As Form, vHeight As Integer, vWidth As Integer)
myForm.Width = vWidth
myForm.Height = vHeight
myForm.Left = (MDI.Width / 2) - (myForm.Width / 2)
myForm.Top = ((MDI.Height / 2) - (myForm.Height / 2)) - 300
myForm.Width = vWidth
myForm.Height = vHeight
End Sub







#186688 - 28/11/2006 08:48:18

USUARIO.EXCLUIDOS

Cadast. em:


tem que ser as Object mesmo.
ai vc passa o form por parà¢metro sem problemas...

Public Sub CentraNaTela(f As Object)
With f
    If f.WindowState = vbNormal Then
        If f.MDIChild = True Then                                              'se for "filho" do principal
            .Left = (Mdi_Capa.Width / 2) - (f.Width / 2)
            .Top = ((Mdi_Capa.Height / 2) - (f.Height / 2)) - 300               'titlebar
        Else
            .Top = (Screen.Height - f.Height) / 2                              'caso contrário,
            .Left = (Screen.Width - f.Width) / 2                               'centraliza na tela
        End If
    End If
End With
End Sub



O que aconteceu quando vc tento chamar a função colocando como as Object??




#186690 - 28/11/2006 08:49:36

HUGOSSOUZA
SAO PAULO
Cadast. em:Dezembro/2004


você não consegue definir como "as object" no seu modulo ou qdo vc vai compilar a dll?
eu fiz assim aqui e funcionou normal...

Public Sub CentraNaTela(f As Object)
With f
    If f.WindowState = vbNormal Then
        If f.MDIChild = True Then                                              'se for "filho" do principal
            .Left = (Mdi_Capa.Width / 2) - (f.Width / 2)
            .Top = ((Mdi_Capa.Height / 2) - (f.Height / 2)) - 300               'titlebar
        Else
            .Top = (Screen.Height - f.Height) / 2                              'caso contrário,
            .Left = (Screen.Width - f.Width) / 2                               'centraliza na tela
        End If
    End If
End With
End Sub



_
Leia :
Regras do fórum
Como Fazer Perguntas Inteligentes



#186733 - 28/11/2006 11:39:55

LOOZE
MOGI-GUACU
Cadast. em:Janeiro/2005


como ficaria pra chamar a função, pois tentei da mesma forma que estava no modulo e da objeto requerido...

faço assim pra chamar a func.
centranatela me

ele até compila como object, mais não consegui chamar a função.





#186741 - 28/11/2006 12:06:29

HUGOSSOUZA
SAO PAULO
Cadast. em:Dezembro/2004


tenta passar o nome do form

centranatela nomeform




_
Leia :
Regras do fórum
Como Fazer Perguntas Inteligentes



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por WEBMASTER em 18/08/2009 10:03:45