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 14-06-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Componente para Thumbnails

Como dice el titulo, necesito un componente free para armar un thumbnails. Tengo instalada toda la VCL de JEDI, y trae el componente JvThumbView, que sirve perfectamente, pero, me encuentro con un problema, yo necesito que cada thumbnail lo pueda seleccionar mediante un checkbox, pero estuve mirandolo y no veo que tenga esa opcion. Si alguien sabe como puedo hacer para dibujar un checkbox en cada thumbnail con este componente le estare eternamente agradecido, y sino si me pueden pasar el dato de uno que si lo admita, tambien. Tengo una aplicacion parada por este motivo, y realmente necesito solucionarlo cuanto antes, aunque sea una mano para modificar el componente, pero realmente necesito hacerlo. Muchas gracias de todas maneras.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #2  
Antiguo 14-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Lo más fácil es un TFrame, (como un panel) donde metes el jvthumbnail y un checkbox debajo, a partir de ahora, usas ese TFrame cuando necesites un Thumbnail.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 14-06-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Si, lo estuve analizando, creo que por algun lado mire un programita que creo era tuyo, sobre crear un calendario de forma dinamica utilizando el metodo que mencionas, pero me gustaria ver la posibilidad de poder dibujar un checkbox en el JvThumbNail, osea, partamos de una base, como hago para dibujar un checkbox en un form, es decir, crearlo y dibujarlo por codigo. Creo que es lo primero que necesito para poder estudiar como meterlo dentro del componente.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #4  
Antiguo 14-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
No me queda claro.

"Dibujar" es poner una imagen encima de otra, tan simple como hacer un cuadrado en paint, con dimensiones 16x16 pixeles y pintarlo en el canvas de tu thumbnail. Cuando el usuario entre con el ratón en esa zona concreta (lo identificas por las coordenadas x e y del evento mousemove del thumbnail) y hace clic, entonces, coges otra imagen preparada (con la marca de verificación) y la dibujas sobre la anterior.

Veo algunos detalles:
- El checkbox tapa parte de la imagen.
- El usuario no ve el checkbox porque la imagen de fondo es del mismo color que el checkbox
- Tienes que programarlo todo, incluso saber si el usuario marcó o desmarcó la casilla.

"Crear en ejecución" es totalmente distinto, el resultado es idéntico a ponerlo en tiempo de diseño, tienes el control que se llama checkbox1 y todos sus eventos y propiedades.

Si tienes en una carpeta imágenes y usas la opción de windows de imprimir imágenes, verás que tienen un checkbox también, pero fuera de la imagen, así queda a la vista del usuario. Fácil de programar y elegante (al menos para mi gusto ).

Si lo que quieres es "dibujar", yo no he trabajado mucho con ello, pero seguro que otros te dan algún apunte.

Si tienes aún mi programilla de calendario, elimina el memo, pon tu jvThumbail y el checbox debajo; creo no tendrás ningún error...ni de compilación siquiera .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 14-06-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por Lepe
Si tienes en una carpeta imágenes y usas la opción de windows de imprimir imágenes, verás que tienen un checkbox también, pero fuera de la imagen, así queda a la vista del usuario. Fácil de programar y elegante (al menos para mi gusto ).
Vos sabes que yo diseñe el frame para que el checkbox no me tape la imagen en lo mas minimo, esta la cargo con la propiedad FileName, que viene en el ThumbNails, de hecho ha quedado muy bonito. Pero lo unico que me resta es saber cuando esta checada o no. Ahora bien, como es eso de la opcion de windows, realmente no lo entendi. Yo las imagenes las tomo de un directorio.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #6  
Antiguo 14-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Ya veo que hemos contestado al mismo tiempo .

el código te quedaría así:
Código Delphi [-]
unit celda;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TFrCelda = class(TFrame)
    pnl1: TPanel;
    pnl2: TPanel;
    CheckBox1: TCheckBox;
   //aqui tendrás más cosas.

  private
    procedure SetSelected(const Value: Boolean);
    function GetSelected: Boolean;
    { Private declarations }
  public
    { Public declarations }
    property Selected:Boolean read GetSelected write SetSelected;
  end;

implementation

{$R *.dfm}

{ TFrCelda }

function TFrCelda.GetSelected: Boolean;
begin
  Result := checkbox1.Checked;
end;


procedure TFrCelda.SetSelected(const Value: Boolean);
begin
  Checkbox1.Checked := Value;
end;
Ahora solo tienes que preguntar por Selected, en lugar de por el Checkbox.Checked, así que tu código sería más o menos:
Código Delphi [-]
// var thumb:TFrameThumb; no hace falta esta linea 
begin
 for i:=componentcount downto 1 do  //sin tomar el cero, porque no tengo component.name como cero
  begin
    if component[i] is TFrameThumb
      then begin
         if TFrameThumb(component[i]).Selected = true
           then CargoEnMiTString;
      end;
  end; 
end;

Si por código necesitas activar el checkbox, puedes usar esto:
Código Delphi [-]
// var thumb:TFrameThumb; no hace falta esta linea 
begin
 for i:=componentcount downto 1 do  //sin tomar el cero, porque no tengo component.name como cero
  begin
    if component[i] is TFrameThumb
      then begin
        TFrameThumb(component[i]).Selected := true
      end;
  end; 
end;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 14-06-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por Lepe
Ya veo que hemos contestado al mismo tiempo .
JajJAjajAJ amigo Lepe, me estas mandando lo mismo que estaba haciendo, me die cuenta cuando revisando tu ejemplo, en el FrCelda estaba la funcion para setear la fecha. Toda la telepatia!!!

Ahora eso que me decis de la impresion de windows, es exactamente lo que quiero hacer, pero veo que la unica forma es como lo estamos haciendo... o hay otra pero ya es con el uso de un componente de pago???

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #8  
Antiguo 14-06-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por Lepe
Lo más fácil es un TFrame, (como un panel) donde metes el jvthumbnail y un checkbox debajo, a partir de ahora, usas ese TFrame cuando necesites un Thumbnail.

Saludos
Y llegado el caso de que termine implementandolo, ya que estuve ensayando para ver como queda, pintando los Thumbs dentro de un ScrollBox, y te digo, que el resultado queda de lujo, pero... no se me ocurre, como puedo hacer un barrido de cuales checkboxes estan checked o cuales no lo estan. Seguramente llenaria un TStringList, que me resulta muy comodo. Pero... no se como hacer lo otro. Alguna idea? Que tendria que hacer? algo como....

Código Delphi [-]
 
var thumb:TFrameThumb;
begin
 for i:=componentcount downto 1 do  //sin tomar el cero, porque no tengo component.name como cero
  begin
    if component[i] is TFrameThumb
      then begin
         if Thumb.ThumbNails.CheckBox[i].Checked=True
           then CargoEnMiTString;
      end;
  end; 
end;

(a groso modo, como para dar una idea)

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Diseño e implementación de Thumbnails MaMu Gráficos 4 18-04-2007 20:25:37
Componente para gráficos Besto Gráficos 1 11-10-2006 20:53:23
Componente para Filtrar ADO, Para D5 olbeup OOP 5 14-09-2005 17:40:01
componente para norma19 para delphi7 raulmm26 Varios 3 07-02-2005 12:31:11
Como puedo ver imagenes en Thumbnails? marcoev Gráficos 1 29-05-2003 21:06:36


La franja horaria es GMT +2. Ahora son las 11:50:39.


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