![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
key de CTRL+V y de CTRl+C
Tengo un edit con el siguiente código en el evento OnKeyPress para que admita solo números decimales:
Esto me impide copiar y/o pegar en el edit, pero necesito poder hacerlo. He pensado poner una condición algo así: If (key = 'VK_KeyDeCtrl+V) or (key = 'VK_KeyDeCtrl+C) then ....controlar valor pegado else ... control entrada solo números ¿ key de CTRL+V y de CTRl+C ?, o algún sitio donde pueda buscarlas. Gracias. |
#2
|
||||
|
||||
El problema del OnKeyPress es que no te da información extra de teclas de CTRL, ALT,... como hacen por ejemplo el OnKeyDown/OnKeyUp.
La primera opción es ver si puedes cambiar el código a uno de estos eventos. Si no puedes, la otra opción es utilizar la API para preguntar cómo está en un momento dado una determinada tecla. GetKeyState o GetKeyboardState te pueden servir. Para ver cómo se usan puedes revisar este post de Roman.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Yo me andaría con ojo, ya que mucha gente (por ejemplo, yo
![]() ¿No hay alguna forma de obtener (por ejemplo, del registro) cómo están configuradas estas combinaciones? |
#4
|
||||
|
||||
Creo que estamos confundiendo las cosas, cuando copiamos o pegamos, ya sea usando el menú o utilizando alguna combinación de teclas, lo que llega al edit son los mensajes WM_COPY y WM_PASTE. En ningún momento llegan al edit las pulsaciones de esas teclas porque se procesan por windows mucho antes.
Para controlar cuando, y como, se copia y se pega lo que tenemos que hacer es interceptar los mensajes WM_COPY y WM_PASTE. Se puede hacer de varias maneras, pero ahora mismo se me ocurre que lo podemos hacer sustituyendo el WndProc del edit. Algo así:
|
#5
|
||||
|
||||
Cita:
// Saludos |
#6
|
|||
|
|||
Gracias a todos, voy a ponerme con lo que me indicais.
Un saludo. |
#7
|
||||
|
||||
Cita:
![]() |
#8
|
|||
|
|||
Lo he solucionado a través del evento OnChange del edit. Controlo que el edit solo pueda admitir números con una coma, y el edit permite copiar y pegar.
Gracias. Un saludo. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Historia de Ctrl+Z | marcoszorrilla | Noticias | 0 | 30-09-2006 21:15:28 |
Ctrl + Alt + Del | marcoszorrilla | Noticias | 6 | 25-07-2006 07:23:11 |
Desactivar Ctrl-Del | IVAND | Varios | 1 | 12-01-2006 02:42:45 |
desactivar CTRL+ALT+SUP | User_baja1 | Varios | 1 | 03-05-2005 19:26:14 |
Ctrl+alt+supr | karocs | Varios | 3 | 28-12-2004 20:46:37 |
![]() |
|