SOBRE OCX. PARA COLEGAS CRIATIVOS !
Ola!
Estou com dois daqueles,tipos de problema,que exigem "criatividade" ,para
resolver.Sempre tento ser criativo,mas neste caso,nao consegui:
1.) Acabei de fazer uma OCX.Funciona perfeito! Mas,ela precisa de um
recurso,que nao sei como implementar. Ao ser adicionada,a um projeto
em VB,ela evidentemente ficara num formulario qualquer.A pergunta,e
como posso fazer para que A OCX,"saiba" o nome do formulario onde
ela foi inserida ???
Eu tentei : Nome_formulario= Me.Name
Mas,o resultado e o nome do propio user control
2.) Eu criei um procedimento,na OCX,que deve ser executado ,sempre que
o formulario ( onde a ocx esta ),seja aberto ou receba foco.Tentei colocar
este procedimento,no evento " Initialize " do usercontrol.Mas,infelizmente
descobri,que este evento e disparado,logo que eu adiciono,a OCX,num
projeto .Mesmo sem executar o projeto !!!!!!!
Existe algum modo,de fazer o meu procedimento,ser disparado,somente
no momento em que o programa,onde a OCX esta seja executado?
Agradeco qualquer ajuda!
Estou com dois daqueles,tipos de problema,que exigem "criatividade" ,para
resolver.Sempre tento ser criativo,mas neste caso,nao consegui:
1.) Acabei de fazer uma OCX.Funciona perfeito! Mas,ela precisa de um
recurso,que nao sei como implementar. Ao ser adicionada,a um projeto
em VB,ela evidentemente ficara num formulario qualquer.A pergunta,e
como posso fazer para que A OCX,"saiba" o nome do formulario onde
ela foi inserida ???
Eu tentei : Nome_formulario= Me.Name
Mas,o resultado e o nome do propio user control
2.) Eu criei um procedimento,na OCX,que deve ser executado ,sempre que
o formulario ( onde a ocx esta ),seja aberto ou receba foco.Tentei colocar
este procedimento,no evento " Initialize " do usercontrol.Mas,infelizmente
descobri,que este evento e disparado,logo que eu adiciono,a OCX,num
projeto .Mesmo sem executar o projeto !!!!!!!
Existe algum modo,de fazer o meu procedimento,ser disparado,somente
no momento em que o programa,onde a OCX esta seja executado?
Agradeco qualquer ajuda!
Marcos
2) Para identificar o Modo em que está atualmente um Activex utilize:
Ambient.UserMode = True - ambiente de Usuário
Ambient.UserMode = False - ambiente de Desenvolvimento.
2) Para identificar o Modo em que está atualmente um Activex utilize:
Ambient.UserMode = True - ambiente de Usuário
Ambient.UserMode = False - ambiente de Desenvolvimento.
Marcos
Quando se trabalha com o Initialize nem todas as Propriedades do Componentes estão disponÃveis, por isto pode estar dando problemas. [S26]
Se possÃvel coloque o Código que necessita aqui.
Uma forma boa de se trabalhar com o UserMode ou qualquer outra Função Booleana é a demonstrada abaixo
If UserControl.Ambient.UserMode Then
..............
..............
Else
..............
..............
Endif
No seu caso acima o Select Case não está errado mas o If fica de mais fácil entendimento. [S25]
Ainda o ME dentro do código do UserControl te retorna o nome do UserControl e não do Form.
Quando se trabalha com o Initialize nem todas as Propriedades do Componentes estão disponÃveis, por isto pode estar dando problemas. [S26]
Se possÃvel coloque o Código que necessita aqui.
Uma forma boa de se trabalhar com o UserMode ou qualquer outra Função Booleana é a demonstrada abaixo
If UserControl.Ambient.UserMode Then
..............
..............
Else
..............
..............
Endif
No seu caso acima o Select Case não está errado mas o If fica de mais fácil entendimento. [S25]
Ainda o ME dentro do código do UserControl te retorna o nome do UserControl e não do Form.
Tópico encerrado , respostas não são mais permitidas