Adicionar “Eventos” em tempo de execução
Estou tentando entender como funciona a criação de formulários em tempo de execução e me deparei com a seguinte dúvida:
É possível adicionar um evento em tempo de execução
, como, por exemplo:
Ao passar o mouse sobre um botão (Equivalente ao evento "Ao receber foco"
), é possível associar uma mensagem?
Segue o código:
Sub dlgSenha
' Criar o diálogo
frmSenha = CreateUnoService("com.sun.star.awt.UnoControlDialog")
oDlgModel = CreateUnoService("com.sun.star.awt.UnoControlDialogModel")
oDlgModel.setPropertyValues( _
Array("Height","PositionX","PositionY","Title","Width"), _
Array( 50 , 100 , 100 , "Insira sua senha" , 100))
frmSenha.setModel(oDlgModel)
' Criar a caixa de texto (oEditModel) que receberá a senha.
txtSenha = oDlgModel.createInstance("com.sun.star.awt.UnoControlEditModel")
txtSenha.setPropertyValues( _
Array("EchoChar","Height","PositionX","PositionY","Width"), _
Array(asc( "*" ) , 15 , 5 , 5 , 90 ) )
txtSenha.EchoChar = asc("*")
oDlgModel.insertByName("PasswordEdit",txtSenha)
' Criar o botão "Ok"
btnOk = oDlgModel.createInstance("com.sun.star.awt.UnoControlButtonModel")
btnOk.setPropertyValues( _
Array("DefaultButton","Height","Label","PositionX","PositionY","PushButtonType","Width"), _
Array( True , 15 , "~OK" , 55 , 25 , 1 ,40 ))
oDlgModel.insertByName( "OkButton" , btnOk)
' Criar o botão "Cancelar"
btnCancelar = oDlgModel.createInstance("com.sun.star.awt.UnoControlButtonModel")
btnCancelar.setPropertyValues( _
Array( "Height" , "Label" , "PositionX" , "PositionY" , "PushButtonType" , "Width" ), _
Array( 15 , "~Cancelar" , 5 , 25 , 2 , 40 ))
oDlgModel.insertByName( "CancelButton" , btnCancelar )
' Exibir o diálogo
frmSenha.setVisible(True)
If frmSenha.execute() = 1 Then
' Retorna a senha fornecida
If txtSenha.Text = "" Then
msgbox "Você não digitou uma senha " , 64 , "Informe"
Else
msgbox "A senha digitada foi " & txtSenha.Text , 64 , "Informe"
End If
End If
End Sub