VISUALIZA?ÃO DE CARACTER ESPECIAL <&>

SIRIOUS 08/10/2015 12:04:23
#452312

Olá. Preciso de um help ...

Tenho um form (frmA) que exibe um título num label (lblNome).
Entrando com o nome do cliente na Text1, há uma rotina associada ao evento KeyPress para reconhecer o símbolo <&>:

Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 38 [ô]Se for o símbolo &
Case Else
KeyAscii = 0
End Select


Assim, se o título na base de dados contém o símbolo <&> (ex.: Casa Freitas Ltda. & Filhos), ao ser selecionado, exibe o nome conforme cadastrado (com & ) no label (lblNome).
Nesse mesmo form (frmA), há um botão de comando que acessa outro form (frmB), que exibe algumas fotos do estabelecimento selecionado. No frmB, o nome do cliente é exibido ao lado das fotos, num label (lblEmpresa). Só que sem o símbolo &. O título no lblEmpresa fica assim: Casa Freitas Ltda._Filhos.

Para que lblEmpresa exiba o nome (da base de dados) nesse segundo form, conforme existente na base de dados (com &), o que é necessário fazer?
Agradeço a quem possa ajudar.
JABA 08/10/2015 13:00:50
#452313
O certo seria você identificar o porquê da troca, já que os dados no banco estão de uma forma e está-se exibindo de outra. Talvez isso esteja acontecendo porque o & é um caractere especial da linguagem. Uma forma de reverter isso poderia ser feita assim:

lblEmpresa.Caption = Replace([Ô]Freitas Ltda._Filhos[Ô], [Ô]_[Ô] , [Ô] & [Ô] )


ou

lblEmpresa.Caption = Replace([Ô]Freitas Ltda._Filhos[Ô], [Ô]_[Ô] , [Ô] [Ô] & chr(38) & [Ô] [Ô] )
OCELOT 08/10/2015 14:25:27
#452320
Resposta escolhida
Os Labels do VB6 por padrão tratam o & de forma especial, ele usa este caractere para definir teclas de acesso.

Para resolver o problema você pode setar a propriedade UseMnemonic para false nos labels que precisa exibir o &
SIRIOUS 08/10/2015 15:47:27
#452325

Obrigado pela ajuda, Jaba e Ocelot.
Solucionado....
Agradeço a ambos.
Tópico encerrado , respostas não são mais permitidas