CAPTION PROPERTY DEFAULT IN OCX
Pessoal,
Acho que esta dúvida é só para os feras no VB6!
Abra um form e coloque um label1.
coloque esta codigo no form:
Private Sub Form_Load()
Label1 = [Ô]verify[Ô]
Label1.Caption = [Ô]verify[Ô]
End Sub
Podem ver que isto não apresenta nenhum erro!
Minha duvida é a seguinte:
Como posso criar um componente OCX onde não seja necessario colocar no programa do form a extenção .Caption e este não apresente erro da mesma forma que o exemplo acima no Label1.
Já tentei de varias formas e sempre da o mesmo Run-Time se no meu componente eu omitir do código no form a expressão .Caption
Private Sub Form_Load()
MYCOMP = [Ô]verify[Ô] (aqui aparece o erro)
MYCOMP.Caption = [Ô]verify[Ô] (aqui funciona normalmente)
End Sub
Agradeceria muito a quem matar este problema!
Raul
Acho que esta dúvida é só para os feras no VB6!
Abra um form e coloque um label1.
coloque esta codigo no form:
Private Sub Form_Load()
Label1 = [Ô]verify[Ô]
Label1.Caption = [Ô]verify[Ô]
End Sub
Podem ver que isto não apresenta nenhum erro!
Minha duvida é a seguinte:
Como posso criar um componente OCX onde não seja necessario colocar no programa do form a extenção .Caption e este não apresente erro da mesma forma que o exemplo acima no Label1.
Já tentei de varias formas e sempre da o mesmo Run-Time se no meu componente eu omitir do código no form a expressão .Caption
Private Sub Form_Load()
MYCOMP = [Ô]verify[Ô] (aqui aparece o erro)
MYCOMP.Caption = [Ô]verify[Ô] (aqui funciona normalmente)
End Sub
Agradeceria muito a quem matar este problema!
Raul
o código da sua OCX ajudaria muito
Facinho...
Configure sua propriedade para ser default.
Veja que no codigo do usercontrol que fiz para teste nao muda absolutamente nada...
Mas se voce for em Tools->Procedure Attributes, clicar em Advanced, escolher sua propertie e configurar a Procedure ID para (Default) o componente quando recebe valor aponta para esta propriedade.
Configure sua propriedade para ser default.
Veja que no codigo do usercontrol que fiz para teste nao muda absolutamente nada...
Option Explicit
Public Property Get Text() As String
Text = Label1.Caption
End Property
Public Property Let Text(NewValue As String)
Label1.Caption = NewValue
End Property
Private Sub UserControl_InitProperties()
Me.Text = UserControl.Ambient.DisplayName
End Sub
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
Me.Text = PropBag.ReadProperty([Ô]Text[Ô], UserControl.Ambient.DisplayName)
End Sub
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty([Ô]Text[Ô], Label1.Caption, UserControl.Ambient.DisplayName)
End Sub
Mas se voce for em Tools->Procedure Attributes, clicar em Advanced, escolher sua propertie e configurar a Procedure ID para (Default) o componente quando recebe valor aponta para esta propriedade.
Merece o titulo de WEBMASTER!
Passei pela propriedade umas 10 vezes mas estava procurando algo mais complexo!
Valeu !
Abraços
Raul
Passei pela propriedade umas 10 vezes mas estava procurando algo mais complexo!
Valeu !
Abraços
Raul
Tópico encerrado , respostas não são mais permitidas