FAZER TECLADO VIRTUAL

FERDEAD 23/02/2017 12:29:43
#471903
Olá!

Preciso fazer um teclado numérico para digitar valores em vários textbox usando a mesma tela..
já pesquisei alguns exemplos usando o sendkeys mas, ele vai mandar o texto para objeto que tá em foco, mas ao clicar no botão, ele mesmo fica com foco e não digita o texto no textbox que eu quero..

alguém pode me dar uma luz como fazer isso ? preciso que clique num botão e o texto seja preenchido no textbox que está em foco..
MARCELO.TREZE 23/02/2017 13:31:29
#471905
vc ja criou alguma coisa posta ai o que conseguiu fazer
JORGESALES 23/02/2017 13:53:12
#471907
Já pensou na possibilidade de ao invés de criar um você apenas
chamar o teclado virtual do próprio Windows?
O pessoal aqui fala muito sobre não reinventar a roda...
FERDEAD 23/02/2017 15:03:45
#471908
Jorge,
o teclado virtual do windows vai completo, eu queria apenas o teclado numérico..
sabe alguma configuração que se possa fazer ?

Marcelo,
Eu fiz teste bem simples, com o sendkeys mesmo.. mas, acontece de quando clicar no botão o sendkeys envia o texto para o botão mesmo.. ele teria que enviar para o textbox em foco..
FERDEAD 23/02/2017 15:18:19
#471910
Jorge, acabei de testar aqui.. ele funciona sim.. mas como ele fica o teclado inteiro acaba ficando em cima da minha tela.. quando habilito o teclado numérico dele, ele fica o teclado todo.. e acaba atrapalhando onde o usuário deveria clicar..
DS2T 23/02/2017 15:34:45
#471911
Olá!

Ao invés de usar um Button padrão para servidor como tecla do seu teclado virtual, use um Button personalizado.

Algo assim:

class Class1 : System.Windows.Forms.Button
{
public Class1()
{
this.SetStyle(System.Windows.Forms.ControlStyles.Selectable, false);
}
}

Em VB.NET ficaria assim:

public Class Class1
inherits System.Windows.Forms.Button

public sub new()
Me.SetStyle(System.Windows.Forms.ControlStyles.Selectable, false)
end sub

end class


Agora se for VB6... o buraco é mais embaixo.
Acho que o melhor jeito seria criar um Array de TextBox pra eles compartilharem eventos. No evento GotFocus você pegaria o controle e armazenaria numa variavel na seção General...
Aí na hora de clicar no botão, seria o caso de pegar essa variável que armazena o controle e modificar o Text dele.

Abraços!
FERDEAD 23/02/2017 22:40:17
#471917
DS2T,

é vb6 mesmo.. e tenho vários textbox que queria fazer a função.. mas vou testar aqui dessa maneira ver se dá certo..

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