Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-05-2017
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 174
Poder: 13
darkerbyte Va por buen camino
Question Controles para Touchscreen

Hola amigos

Voy a hacer una aplicación para Touchscreen, típico, otra de punto de venta, a petición del cliente.

Pero quisiera que me dieran un poco de asesoría. Voy a obtener el listado de productos de la base de datos, quisiera saber si hay algún control como un DBgrid pero mas adecuado para este uso.

Quisiera que en base al numero de productos y resolución de la pantalla pueda determinar el numero de columnas y filas, y que tenga un evento onClick sobre cada Item.

Mi otra opción es hacer un montón de botones y e ir ocultándolos para adaptarlos según la cantidad de productos pero se me hace poco eficiente.

Pero ustedes que tienen experiencia con este tipo de interfaz quisiera me dieran algún consejo.

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 10-05-2017
Avatar de Neftali
Neftali Neftali is online now
-Germán Estévez-
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 15.319
Poder: 10
Neftali Va camino a la famaNeftali Va camino a la fama
Se puede hacer de muchas maneras y no se exactamente lo que tienes en mente.
Lo primero que se me ocurre (y parece lo más natural) es utilizar botones (posiblemente en un TList/TObjectList/...).

Independientemente de los controles, revisa este vídeo sobre (TGridPanel) que es posible que te pueda ayudar.
Enlace a la docWiki.
__________________
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.
Responder Con Cita
  #3  
Antiguo 10-05-2017
Avatar de Neftali
Neftali Neftali is online now
-Germán Estévez-
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 15.319
Poder: 10
Neftali Va camino a la famaNeftali Va camino a la fama
Cita:
Empezado por darkerbyte Ver Mensaje
Mi otra opción es hacer un montón de botones y e ir ocultándolos para adaptarlos según la cantidad de productos pero se me hace poco eficiente.
Esto no lo había leído.
Crea sólo los botones necesarios para tus productos en ejecución. Nada de crear un montón de botones en diseño e ir ocultando luego.

Si buscas en los foros encontrarás muchos mensajes sobre crear controles en runtime.
__________________
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.
Responder Con Cita
  #4  
Antiguo 10-05-2017
Avatar de mallenat
mallenat mallenat is offline
Miembro
 
Registrado: oct 2003
Posts: 18
Poder: 0
mallenat Va por buen camino
Si no te importa adquirir componentes te dejo algunas recomendaciones:
  • tmssoftware.com/site/advcardlist.asp
  • tmssoftware.com/site/advsmoothlistbox.asp
  • tmssoftware.com/site/advsmoothimagelistbox.asp
  • tmssoftware.com/site/AdvSmoothTileList.asp

Personalmente yo uso el AdvSmoothTileList para cosas parecidas.
__________________
Mallenat
Responder Con Cita
  #5  
Antiguo 10-05-2017
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 358
Poder: 12
bitbow Va camino a la fama
Existe un componente TDBCtrlGrid con el cual se pueden conseguir lo que requieres de forma sencilla.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #6  
Antiguo 12-05-2017
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 174
Poder: 13
darkerbyte Va por buen camino
Red face Probando

Gracias amigos por sus consejos

Si es necesario comprar no tengo inconvenientes porque quiero lograr algo de calidad
algo como esto:







Voy a probar los controles que me han recomendado.

Mil gracias nuevamente
Responder Con Cita
  #7  
Antiguo 12-05-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 2.863
Poder: 13
newtron Va camino a la fama
Bueno... por si te sirve de algo yo consigo esta apariencia con controles estándar y uno gratuito para los botones que se llaman FancyButton.



Saludos
__________________
Be water my friend.
Responder Con Cita
  #8  
Antiguo 12-05-2017
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 174
Poder: 13
darkerbyte Va por buen camino
Thumbs up

Cita:
Empezado por newtron Ver Mensaje
Bueno... por si te sirve de algo yo consigo esta apariencia con controles estándar y uno gratuito para los botones que se llaman FancyButton.



Saludos
Hola Newtron.

Si me sirve ¿Como hiciste el grid con los botones? Son Speedbuttons? y los vas creando en tiempo de ejecución?
No había escuchado de ese componente, es de alguna suite? me podrías dar mas info?

Muchisimas gracias desde ya
Responder Con Cita
  #9  
Antiguo 13-05-2017
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 654
Poder: 14
yusnerqui Va por buen camino
Yo no tengo experiencia en este tipo de trabajos, pero acabo de probar un ListView con el tamaño de los iconos a 120 pixcels y creo que el efecto que produce es el que deseas, la tarea aqui sería agregar dinámicamente las imágenes al imagelist, y el efecto visual es bueno, es una idea.
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #10  
Antiguo 13-05-2017
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 654
Poder: 14
yusnerqui Va por buen camino
Vale, si lo que quieres es poner botones dinámicamente en un panel, tira un panel en el formulario y haz algo como esto

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
const
cc=3;
var sp : TSpeedButton;
  i,fila,col:integer;
begin
  for  i :=0 to 6 do
  begin
    sp:=TSpeedButton.Create(Panel1);
    sp.Parent:=Panel1;
    sp.Width:= 100;
    sp.Height:= 100;
    //calculo la fila y columna donde pondré el botón
    col:=i mod cc;
    fila:= (i-col) div cc;
    //En dependencia de la fila y columna doy las cordenadas, recuerda que mis botones serán de 100 por 100 con 2 pixceles de separación
    sp.Left:=100*col+2;
    sp.Top:= 100*fila +2;
  end
end;

end.

Esta es otra idea, tu dirás si es eso lo que quieres, o estoy escribiendo tonterías

saludos
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #11  
Antiguo 13-05-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 2.863
Poder: 13
newtron Va camino a la fama
Cita:
Empezado por darkerbyte Ver Mensaje
Hola Newtron.

Si me sirve ¿Como hiciste el grid con los botones? Son Speedbuttons? y los vas creando en tiempo de ejecución?
No había escuchado de ese componente, es de alguna suite? me podrías dar mas info?

Muchisimas gracias desde ya
Los botones no van en un grid, son unos componentes que creamos heredando del speedbutton y que se van rellenando en función de lo que necesites, en la parte izquierda lo rellenamos con las familias y en la derecha con los artículos correspondientes a esa familia y para ir pasando artículos o familias hacia delante o hacia atrás pulsamos en los botones que tienen las flechas a la izquierda o derecha. De esa manera se puede navegar por las familias/artículos.

Este es el aspecto de la pantalla en modo de edición:



Por otro lado los botones no son de una suite, es un componente que puedes descargar (creo) de aquí.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #12  
Antiguo 17-05-2017
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 174
Poder: 13
darkerbyte Va por buen camino
Ahhh creo que ya entendí

Puedo dejar por ejemplo 9 speedbuttons.
Hago mi consulta y obtengo los id's e imágenes de los primeros 9 productos.
Si son mas de 9 habilito el speedbutton que tiene la flecha a la derecha
Si el usuario hace click en la flecha, hago mi consulta y obtengo los siguientes nueve y los asigno a los botones.
Y puedo utilizar el TAG del boton por ejemplo para guardar el ID del producto para que cuando el usuario haga click sepa cual producto quiere meter

La tecnica sería la misma para las categorías.

De esta forma no tenemos que crear complejos mecanismos para crear botones dinamicamente, ni tener tantos botones en memoria.
Además tenemos un control mas preciso en el diseño del form.

Brillante... Brillante
Responder Con Cita
  #13  
Antiguo 17-05-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 2.863
Poder: 13
newtron Va camino a la fama
Cita:
Empezado por darkerbyte Ver Mensaje
Brillante... Brillante
Lo sé lo sé...
__________________
Be water my friend.
Responder Con Cita
  #14  
Antiguo 17-05-2017
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 174
Poder: 13
darkerbyte Va por buen camino
Talking

Cita:
Empezado por yusnerqui Ver Mensaje
Vale, si lo que quieres es poner botones dinámicamente en un panel, tira un panel en el formulario y haz algo como esto

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
const
cc=3;
var sp : TSpeedButton;
  i,fila,col:integer;
begin
  for  i :=0 to 6 do
  begin
    sp:=TSpeedButton.Create(Panel1);
    sp.Parent:=Panel1;
    sp.Width:= 100;
    sp.Height:= 100;
    //calculo la fila y columna donde pondré el botón
    col:=i mod cc;
    fila:= (i-col) div cc;
    //En dependencia de la fila y columna doy las cordenadas, recuerda que mis botones serán de 100 por 100 con 2 pixceles de separación
    sp.Left:=100*col+2;
    sp.Top:= 100*fila +2;
  end
end;

end.

Esta es otra idea, tu dirás si es eso lo que quieres, o estoy escribiendo tonterías

saludos

Gracias amigo yusnerqui fue un gran ejemplo de como crear componentes dinamicamente, cosa que desconocía.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
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
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Teclado touchscreen federicorl OOP 23 12-12-2007 19:27:40
TouchScreen con delphi!! bernabe Varios 3 27-07-2007 18:24:03
Pantalla Touchscreen chavetaz Varios 2 15-05-2007 20:27:04
3D Desktop TouchScreen Onti La Taberna 2 06-04-2007 12:11:34
delphi y touchscreen cesarjbf Varios 3 30-03-2004 15:18:58


La franja horaria es GMT +2. Ahora son las 09:06:27.


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