border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU

Retroceder   VB-MUNDO - Programacion Visual > Programacion - Lenguajes > Visual Basic 6.00
Registrarse FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 23-03-2008, 17:33:18
Avatar de MiguelPG
Gran Participación en el Foro
 
Registrado: dic 2002
Ubicación: Santander
Posts: 171
MiguelPG Valoración +2
Predeterminado Cambiar el teclado alfanumérico de pantalla de Windows

Hola una vez más vengo a dar la tabarra.
Tengo una aplicación en la que en ocasiones necesito activar el teclado de pantalla y para ello activo el propio de Windows, es decir, el OSK.EXE y todo funciona bien.
El único problema es que el tamaño de las teclas es demasiado pequeño para manejarle en una pantalla táctil mediante pulsaciones con los dedos.
Y esta es mi pregunta:
¿Sabeis si se puede redimensionar el tamaño del teclado?
Yo he estado investigando y no he visto ninguna opción que permita hacerlo.
Muchas gracias por vuestra ayuda.
Saludos a todos.
__________________
Miguel Peña
Santander - España

Corrije a un sabio y le harás más sabio.
Corrije a un necio y le harás tu enemigo.
Responder Con Cita
  #2 (permalink)  
Antiguo 23-03-2008, 19:01:21
Avatar de seba123neo
Moderador
 
Registrado: nov 2007
Ubicación: Argentina
Posts: 388
seba123neo Valoración +2
Predeterminado

Hola,yo se que con un codigo se puede redimensionar cualquier ventana,ventanas que no fueron programadas para redimensionarse se pueden agrandar sin problemas ,pero suponete que se lo aplicas a este programa ,no creo que se redimensionen los botones tambien....ya que no fue programado para eso....la mejor opcion es crearte en visual basic un teclado como el de windows y listo,le pones el tamaño que quieras y las opciones que quieras,no es dificil...

saludos.
__________________
Todos somos ignorantes; lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein
Responder Con Cita
  #3 (permalink)  
Antiguo 24-03-2008, 18:20:12
Avatar de MiguelPG
Gran Participación en el Foro
 
Registrado: dic 2002
Ubicación: Santander
Posts: 171
MiguelPG Valoración +2
Predeterminado

Hola y gracias por tu respuesta.
He creado un teclado alfanumérico y para enviar los caracteres ortograficos no tengo ningún problema, pero cuando quiero recoger el valor del evento keyPress no sé como hacerlo.
Me explico:
Cuando pulso el botón que representa la tecla Enter o Intro quiero que el evento KeyPress tome el VALOR 13, como si hubiera pulsado la tecla Enter del teclado, pero no sé como definirlo.
Igual me ocurre con los valores de las teclas de las flechas.
Podriais indicarme como simular estos eventos?
Muchas gracias.
__________________
Miguel Peña
Santander - España

Corrije a un sabio y le harás más sabio.
Corrije a un necio y le harás tu enemigo.
Responder Con Cita
  #4 (permalink)  
Antiguo 24-03-2008, 21:14:41
Avatar de seba123neo
Moderador
 
Registrado: nov 2007
Ubicación: Argentina
Posts: 388
seba123neo Valoración +2
Predeterminado

o sea la idea del teclado de windows es mandar las pulsaciones a cualquier ventana de windows,no a la ventana de la misma aplicacion,por lo tanto aca los eventos del formulario no sirven,se tienen que "mandar" las pulsaciones,por lo tanto se tiene que usar si o si una funcion Api,tambien se puede usar sendkeys pero esta ha tenido mala fama pues si es usada mal puede hasta trabar el teclado y tener que reiniciar la pc.la pregunta es ¿vos queres hacer algo como el tecaldo de windows? o directamente algo facil y que las pulsaciones se manden a la misma aplicacion tuya....

saludos.
__________________
Todos somos ignorantes; lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein
Responder Con Cita
  #5 (permalink)  
Antiguo 25-03-2008, 01:28:08
Avatar de MiguelPG
Gran Participación en el Foro
 
Registrado: dic 2002
Ubicación: Santander
Posts: 171
MiguelPG Valoración +2
Predeterminado

Hola de nuevo Sebas.
Gracias por tu ayuda.
Lo que qiero es mandar las pulsaciones a mi propia aplicación.
Me explico:
Los caracteres alfanuméricos los envio a un cuadro de texto, y en este cuadro de texto en el evento KeyPress (Key Ascii as Integer), en función de la tecla pulsada le envio una u otra instrucción. Por ejemplo:

Private Sub txtbuscar_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13
buscar
Case 27
txtBuscar.Visible = False
TDBCarta.Close
TDBCarta.Visible = False
frameTeclado.Visible = False
End Select
End Sub

En este caso, selecciono la acción a tomar en función de si se ha pulsado Enter o Escape y esto mismo lo hago en otro control, en este caso una rejilla que presenta una tabla.
´
Enviar los caracteres al cuadro de texto no tiene ningún misterio, pués en este caso no intercepto las pulsaciones del teclado, si no que envio el caracter en función del botón Command que pulso en el teclado de pantalla. Pero en el caso de la tecla Enter, Escape o Flechas, no sé como simular la pulsación de esas teclas en el teclado de pantalla.
No sé si me habré explicado bien.
Gracias de nuevo y saludos.
__________________
Miguel Peña
Santander - España

Corrije a un sabio y le harás más sabio.
Corrije a un necio y le harás tu enemigo.
Responder Con Cita
  #6 (permalink)  
Antiguo 26-03-2008, 15:57:05
Gran Participación en el Foro
 
Registrado: oct 2003
Posts: 438
MiguelS Valoración +2
Predeterminado

Código:
Const VK_H = 72
Const VK_E = 69
Const VK_L = 76
Const VK_O = 79
Const VK_CR = 13
Const VK_ESC = 27
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Sub Form_KeyPress(KeyAscii As Integer)
    'Print the key on the form
    Me.Print Chr$(KeyAscii);
End Sub
Private Sub Form_Paint()
    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'Clear the form
    Me.Cls
    keybd_event VK_H, 0, 0, 0   ' press H
    keybd_event VK_H, 0, KEYEVENTF_KEYUP, 0   ' release H
    keybd_event VK_E, 0, 0, 0  ' press E
    keybd_event VK_E, 0, KEYEVENTF_KEYUP, 0  ' release E
    keybd_event VK_L, 0, 0, 0  ' press L
    keybd_event VK_L, 0, KEYEVENTF_KEYUP, 0  ' release L
    keybd_event VK_L, 0, 0, 0  ' press L
    keybd_event VK_L, 0, KEYEVENTF_KEYUP, 0  ' release L
    keybd_event VK_O, 0, 0, 0  ' press O
    keybd_event VK_O, 0, KEYEVENTF_KEYUP, 0  ' release O
End Sub
Responder Con Cita
  #7 (permalink)  
Antiguo 26-03-2008, 17:51:55
Avatar de MiguelPG
Gran Participación en el Foro
 
Registrado: dic 2002
Ubicación: Santander
Posts: 171
MiguelPG Valoración +2
Predeterminado

Hola Miguel. Muchas gracias por tu respuesta.
Ahora lo voy a probar (seguro que es correcto) y ya te contaré.
Gracias de nuevo y hasta pronto.
__________________
Miguel Peña
Santander - España

Corrije a un sabio y le harás más sabio.
Corrije a un necio y le harás tu enemigo.
Responder Con Cita
  #8 (permalink)  
Antiguo 26-03-2008, 20:12:15
Avatar de MiguelPG
Gran Participación en el Foro
 
Registrado: dic 2002
Ubicación: Santander
Posts: 171
MiguelPG Valoración +2
Predeterminado

Probado y, como era de suponer, funciona a las mil maravillas.
Muchas gracias de nuevo
__________________
Miguel Peña
Santander - España

Corrije a un sabio y le harás más sabio.
Corrije a un necio y le harás tu enemigo.
Responder Con Cita
  #9 (permalink)  
Antiguo 01-04-2008, 00:02:15
Avatar de MiguelPG
Gran Participación en el Foro
 
Registrado: dic 2002
Ubicación: Santander
Posts: 171
MiguelPG Valoración +2
Predeterminado Re: Cambiar el teclado alfanumérico de pantalla de Windows

Cita:
Empezado por MiguelS Ver Mensaje
Código:
Const VK_H = 72
Const VK_E = 69
Const VK_L = 76
Const VK_O = 79
Const VK_CR = 13
Const VK_ESC = 27
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Sub Form_KeyPress(KeyAscii As Integer)
    'Print the key on the form
    Me.Print Chr$(KeyAscii);
End Sub
Private Sub Form_Paint()
    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'Clear the form
    Me.Cls
    keybd_event VK_H, 0, 0, 0   ' press H
    keybd_event VK_H, 0, KEYEVENTF_KEYUP, 0   ' release H
    keybd_event VK_E, 0, 0, 0  ' press E
    keybd_event VK_E, 0, KEYEVENTF_KEYUP, 0  ' release E
    keybd_event VK_L, 0, 0, 0  ' press L
    keybd_event VK_L, 0, KEYEVENTF_KEYUP, 0  ' release L
    keybd_event VK_L, 0, 0, 0  ' press L
    keybd_event VK_L, 0, KEYEVENTF_KEYUP, 0  ' release L
    keybd_event VK_O, 0, 0, 0  ' press O
    keybd_event VK_O, 0, KEYEVENTF_KEYUP, 0  ' release O
End Sub
Todo funciona muy bien, pero tengo problemas para capturar los valores de las teclas de Flecha, suprimir, etc.
¿Sabei en dónde puedo encontrar un listado de estos Valores?
gracias
__________________
Miguel Peña
Santander - España

Corrije a un sabio y le harás más sabio.
Corrije a un necio y le harás tu enemigo.
Responder Con Cita
  #10 (permalink)  
Antiguo 01-04-2008, 00:43:13
Avatar de seba123neo
Moderador
 
Registrado: nov 2007
Ubicación: Argentina
Posts: 388
seba123neo Valoración +2
Predeterminado Re: Cambiar el teclado alfanumérico de pantalla de Windows

Hola,suponete que vos tenes un textbox llamado Text1,bueno usa este codigo:

Código:
Const KEYEVENTF_KEYUP = &H2
Const KEYEVENTF_EXTENDEDKEY = &H1
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Sub Pulsar_Tecla(Tecla As Long)
Call keybd_event(Tecla, 0, 0, 0)
Call keybd_event(Tecla, 0, KEYEVENTF_KEYUP, 0)
End Sub

Private Sub Command1_Click()
Text1.SetFocus
Call Pulsar_Tecla(vbKeyA)
End Sub
con eso escribis la letra "a" en el textbox y las constantes de las otras teclas las encontras aca:

Constante Valor Descripción
vbKeyLButton 1 botón izquierdo del ratón
vbKeyRButton 2 botón derecho del ratón
vbKeyCancel 3 tecla CANCEL
vbKeyMButton 4 botón central del ratón
vbKeyBack 8 tecla Retroceso
vbKeyTab 9 tecla Tabulador
vbKeyClear 12 tecla CLEAR
vbKeyReturn 13 tecla Enter
vbKeyShift 16 tecla Mayúsculas
vbKeyControl 17 tecla Ctrl
vbKeyMenu 18 tecla Menu
vbKeyPause 19 tecla Pausa
vbKeyCapital 20 tecla Bloq Mayús
vbKeyEscape 27 tecla Esc
vbKeySpace 32 tecla Espaciador
vbKeyPageUp 33 tecla RePág
vbKeyPageDown 34 tecla AvPág
vbKeyEnd 35 tecla Fin
vbKeyHome 36 tecla Inicio
vbKeyLeft 37 tecla Flecha Izquierda
vbKeyUp 38 tecla Flecha Arriba
vbKeyRight 39 tecla Flecha Derecha
vbKeyDown 40 tecla Flecha Abajo
vbKeySelect 41 tecla SELECT
vbKeyPrint 42 tecla ImprPant
vbKeyExecute 43 tecla EXECUTE
vbKeySnapshot 44 tecla SNAPSHOT
vbKeyInsert 45 tecla Insertar
vbKeyDelete 46 tecla Supr
vbKeyHelp 47 tecla HELP
vbKey0 48 tecla 0
vbKey1 49 tecla 1
vbKey2 50 tecla 2
vbKey3 51 tecla 3
vbKey4 52 tecla 4
vbKey5 53 tecla 5
vbKey6 54 tecla 6
vbKey7 55 tecla 7
vbKey8 56 tecla 8
vbKey9 57 tecla 9
vbKeyA 65 tecla A
vbKeyB 66 tecla B
vbKeyC 67 tecla C
vbKeyD 68 tecla D
vbKeyE 69 tecla E
vbKeyF 70 tecla F
vbKeyG 71 tecla G
vbKeyH 72 tecla H
vbKeyI 73 tecla I
vbKeyJ 74 tecla J
vbKeyK 75 tecla K
vbKeyL 76 tecla L
vbKeyM 77 tecla M
vbKeyN 78 tecla N
vbKeyO 79 tecla O
vbKeyP 80 tecla P
vbKeyQ 81 tecla Q
vbKeyR 82 tecla R
vbKeyS 83 tecla S
vbKeyT 84 tecla T
vbKeyU 85 tecla U
vbKeyV 86 tecla V
vbKeyW 87 tecla W
vbKeyX 88 tecla X
vbKeyY 89 tecla Y
vbKeyZ 90 tecla Z
vbKeyNumpad0 96 tecla 0 del teclado numérico
vbKeyNumpad1 97 tecla 1 del teclado numérico
vbKeyNumpad2 98 tecla 2 del teclado numérico
vbKeyNumpad3 99 tecla 3 del teclado numérico
vbKeyNumpad4 100 tecla 4 del teclado numérico
vbKeyNumpad5 101 tecla 5 del teclado numérico
vbKeyNumpad6 102 tecla 6 del teclado numérico
vbKeyNumpad7 103 tecla 7 del teclado numérico
vbKeyNumpad8 104 tecla 8 del teclado numérico
vbKeyNumpad9 105 tecla 9 del teclado numérico
vbKeyMultiply 106 tecla Símbolo Multiplicación (*) del teclado numérico
vbKeyAdd 107 tecla Símbolo Suma (+) del teclado numérico
vbKeySeparator 108 tecla Intro del teclado numérico
vbKeySubtract 109 tecla Símbolo Resta (-) del teclado numérico
vbKeyDecimal 110 tecla Símbolo decimal(.) del teclado numérico
vbKeyDivide 111 tecla Símbolo División (/) del teclado numérico
vbKeyF1 112 tecla F1
vbKeyF2 113 tecla F2
vbKeyF3 114 tecla F3
vbKeyF4 115 tecla F4
vbKeyF5 116 tecla F5
vbKeyF6 117 tecla F6
vbKeyF7 118 tecla F7
vbKeyF8 119 tecla F8
vbKeyF9 120 tecla F9
vbKeyF10 121 tecla F10
vbKeyF11 122 tecla F11
vbKeyF12 123 tecla F12
vbKeyF13 124 tecla F13
vbKeyF14 125 tecla F14
vbKeyF15 126 tecla F15
vbKeyF16 127 tecla F16
vbKeyNumlock 144 tecla BloqNum


cambiale a cada boton su valor y listo,tenes todo el teclado...

saludos.
__________________
Todos somos ignorantes; lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Anular la tecla windows del teclado desde codigo mcrex1 Visual Basic 6.00 7 21-08-2008 18:16:35
Teclado numérico para pantalla de tpv tactil MiguelPG Visual Basic 6.00 1 21-03-2008 11:49:00
Cambiar el modo de ver la pantalla a pantalla completa saroaes21 Visual Basic 6.00 1 21-03-2005 12:32:17
Detectar Pulsaciones del Teclado a Nivel Windows spider_Ramon Visual Basic.NET 2003 & 2005 3 18-03-2005 16:45:26
NECESITO REALIZAR UN TECLADO NUMERICO EN PANTALLA CON BOTONE Juan Francisco Visual Basic 6.00 2 19-01-2005 22:03:11


La franja horaria es GMT. Ahora son las 03:33:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right