Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-05-2003
BECERRA BECERRA is offline
Miembro
 
Registrado: may 2003
Posts: 30
Poder: 0
BECERRA Va por buen camino
Question LLamar a otra tecla desde un Button.

Hola Compañeros:

He hecho una aplicación y la utilizo con monitores táctiles, necesito llamar a la tecla de Avance Página y a los cursores desde el onclick de un Button, ¿sabéis como hacerlo?



Gracias.
Responder Con Cita
  #2  
Antiguo 19-05-2003
juan juan is offline
Miembro
 
Registrado: may 2003
Ubicación: México
Posts: 17
Poder: 0
juan Va por buen camino
Utiliza los virtual keys,
para los de pagina son

Virtual Key Numero Lo que es
VK_PRIOR 21 PAGE UP key
VK_NEXT 22 PAGE DOWN key

y si te refieres con lo de los cursores a las flechas son estas


VK_LEFT 25 LEFT ARROW key
VK_UP 26 UP ARROW key
VK_RIGHT 27 RIGHT ARROW key
VK_DOWN 28 DOWN ARROW key
__________________
From the mind to the human eye
Responder Con Cita
  #3  
Antiguo 19-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Ampliando un poco la respuesta del amigo Juan, decirte que si miras en la ayuda de Win32.hlp la entrada Virtual-Key Codes encontraras todos los VK

Este archivo de ayuda esta en ..\Archivos comunes\Borland Shared\MSHelp

Espero te sirva
Responder Con Cita
  #4  
Antiguo 19-05-2003
BECERRA BECERRA is offline
Miembro
 
Registrado: may 2003
Posts: 30
Poder: 0
BECERRA Va por buen camino
Sí hasta ahí bien, pero necesitaba hacer eso desde el onclick de un button.

procedure TFimprimir.ImprimirClick(Sender: TObject);
begin
key:=VK_DOWN;
end;
Responder Con Cita
  #5  
Antiguo 19-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Si nos dices que es lo que quieres conseguir, a lo mejor no necesitas esto o se puede hacer de otra forma.

Ya nos contaras
Responder Con Cita
  #6  
Antiguo 19-05-2003
BECERRA BECERRA is offline
Miembro
 
Registrado: may 2003
Posts: 30
Poder: 0
BECERRA Va por buen camino
Smile

Necesito desplazarme por los elementos de un Treeview, el problema es que utilizo una pantalla táctil y no dispongo de teclado, entonces utilizo botones en un formulario para actuar como tal, mi problema es que no se como hacer para emular el funcionamiento de los cursores y Avpag desde el onclick de un button.
Responder Con Cita
  #7  
Antiguo 19-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Segun tengo entendido, las pantallas tactiles se comportan como si de un raton se tratara, por lo tanto, si haces un click en los nodos o en la barra de scroll del Treeview te deberia de funcionar.

Si esta solucion no te vale, tambien puedes hacer otra cosa.
Para en AvPag y el RePag puedes hacer un despazamiento por los nodos hacia adelante y hacia atras de un valor fijo de nodos (por ejemplo la cantidad maxima que puede visualizarse en pantalla)

Para los cursores seria el desplazamiento de un solo nodo.

Que te parecen las soluciones?
Responder Con Cita
  #8  
Antiguo 19-05-2003
BECERRA BECERRA is offline
Miembro
 
Registrado: may 2003
Posts: 30
Poder: 0
BECERRA Va por buen camino
Smile

Me parece bien el problema es que no se desplazarme por los nodos, por eso había pensado en lo de las Sendkeys.
Responder Con Cita
  #9  
Antiguo 19-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Bien, pues dame algo de tiempo y miro de prepararte un ejemplillo, ok? A ver si esta tarde te lo preparo
Responder Con Cita
  #10  
Antiguo 19-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Bueno, a ver si te sirve el codigo siguiente

Para bajar

Código:
 
procedure TForm1.BajarClick(Sender: TObject);
var Nodo : TTreeNode;
begin
     with Tree do
      begin
           Nodo := Selected;
           Nodo := Nodo.GetNext;
           if Nodo <> nil then
              Selected := Nodo;
      end;
end;
Para subir

Código:
procedure TForm1.SubirClick(Sender: TObject);
var Nodo : TTreeNode;
begin
     with Tree do
      begin
           Nodo := Selected;
           Nodo := Nodo.GetPrev;
           if Nodo <> nil then
              Selected := Nodo;
      end;
end;
Para el AvPag y el RePag, simplemente seria hacer un bucle de la primera o segunda opcion

Espero te sirva
Responder Con Cita
  #11  
Antiguo 19-05-2003
BECERRA BECERRA is offline
Miembro
 
Registrado: may 2003
Posts: 30
Poder: 0
BECERRA Va por buen camino
Es perfecto, muchas gracias.
Responder Con Cita
  #12  
Antiguo 20-05-2003
Bacterion Bacterion is offline
Miembro
 
Registrado: may 2003
Posts: 91
Poder: 22
Bacterion Va por buen camino
Cuidado con:

with Tree do
begin
Nodo := Selected;
Nodo := Nodo.GetPrev;
if Nodo <> nil then
Selected := Nodo;
end;

El Nodo<>nil es una comprobación un poco tardía! (sobre todo porque ya ha accedido a él).
Responder Con Cita
  #13  
Antiguo 20-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Posteado originalmente por Bacterion

El Nodo<>nil es una comprobación un poco tardía! (sobre todo porque ya ha accedido a él).
Hola

siento no estar de acuerdo contigo. La asignacion que se hace con anterioridad (Nodo := Nodo.GetPrev) puede asignar a la variable Nodo o bien un TTreeNode o bien Nil (ninguno) por lo que la comparacion es correcta ya que antes no puedes hacer la comparacion
Responder Con Cita
  #14  
Antiguo 20-05-2003
Bacterion Bacterion is offline
Miembro
 
Registrado: may 2003
Posts: 91
Poder: 22
Bacterion Va por buen camino
El problema es que te olvidas del Nodo := Selected;

Nodo := Selected;
Nodo := Nodo.GetPrev;
if Nodo <> nil then

Fijate en el Nodo := Nodo.GetPrev
Si Selected es nil, Nodo.GetPrev como que hace aguas...
Responder Con Cita
  #15  
Antiguo 20-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Por lo tanto, el error no es la comparacion a Nil, sino que faltaria hacer una comprovacion de si hay algun nodo seleccionado y quedaria el codigo algo asi

Código:
procedure TForm1.SubirClick(Sender: TObject);
var Nodo : TTreeNode;
begin
     with Tree do
      begin
           if Selected <> Nil then
            begin
                Nodo := Selected;
                Nodo := Nodo.GetPrev;
                if Nodo <> nil then
                   Selected := Nodo;
            end;
      end;
end;
Asi mejor?
Responder Con Cita
Respuesta



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
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:13:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi