CHAMANDO FORM DENTRO DE UMA CLASSE???

RHEDER 06/12/2006 14:35:06
#188347
oi pessoal como faco para chamar um form de dentro de uma classe?
o problema é que essa classe é de uma ocx??

LIONHEART 06/12/2006 15:03:02
#188357
Vc deve fazer uma função dentro da classe que faça
Form.Show

aí vc chama essa função.

Exemplo

na classe vc põe:

Public Sub ChamarFormulario
SeuForm.SHOW
End Sub


no programa, vc põe:

Classe.ChamarFormulario

e ele aparece.
RHEDER 06/12/2006 15:18:10
#188359
sim mas qdo dou o form.show nao aperece!! os evetos!!
USUARIO.EXCLUIDOS 06/12/2006 15:22:06
#188360
Conselho:

Passe o form como parà¢metro, assim sua função fica mais maleável.

'Isto vc coloca na classe
Public Sub AbrirForm (Form as Object)
Form.Show
End Sub



Ai para chamar

Call Classe.AbrirForm (Nome_Do_Seu_Form)

USUARIO.EXCLUIDOS 06/12/2006 15:26:59
#188363
Citação:

sim mas qdo dou o form.show nao aperece!! os evetos!!



Vc diz quando vc coloca o . depois do nome do Form??

Não tem problema. Pode fazer assim mesmo, a classe instanciada no projeto vai funcionar.
Mas eu aconselho a vc fazer a Sub como eu passei, com o Form como parà¢metro, para ficar maleável.

Mas lembro que o mérito doo código continua sendo do Lion. Só coloquei minha opnião.
LIONHEART 06/12/2006 15:27:20
#188364
O que o Marcelo falou é fato.
Fica mais pratico.


Agora quanto aos parametros aparecerem, vc deve então fazer o seguinte.


Vc deve utilizar a property Let

Private Property Get MeuForm() As Form
set MeuForm = frmTal
End Property


aí no seu programa, basta vc fazer:
dim formAux as form
set formaux = Classe.Form

formAux.SHOW

aí vão aparecer as propriedades.
RHEDER 06/12/2006 15:55:21
#188368
nada ainda...lembrei estou trabalhando dentro de um grupo onde estou dentro de uma ocx??
USUARIO.EXCLUIDOS 06/12/2006 17:00:04
#188395
cara... não entendi...

Vc criou a Sub na classe??
Public Sub AbrirForm (Form as Object)
Form.Show
End Sub


Depois disto, vc precisa criar uma instancia da classe
Dim Teste as New SuaClasse


E usa para chamar o Form
Teste.AbrirForm Nome_do_seu_form

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