PDA

Visualizza la versione completa : [DELPHI] Visualizzare miniature di immagini prelevate da database


vicky
27-11-2006, 22:37
Avrei necessità di visualizzare una serie di miniature di immagini inserite in un database. Non mi è necessario "produrre" le miniature perché posso prepararle con un programma apposito. Vorrei invece sapere come si può realizzare una galleria di miniature che linkino le immagini a grandezza naturale. In una pagina dovrò inserire una trentina di miniature. Mi chiedevo se c'è un controllo specifico per farlo, tipo una DBGrid, oppure se posso far tutto con un codice ricorsivo ed il componente DBImage. Mi potreste dare un consiglio?
Grazie! :ciauz:

alka
27-11-2006, 23:13
Hai dato una sbirciata alla TDBCtrlGrid? Potrebbe essere utile...

vicky
28-11-2006, 01:37
Ma è normale che nel dbctrlgrid la la miniatura inserita in un dbimage compaia solo dopo che ci clicco sopra con il mouse? Non è possibile avere subito l'elenco di tutte le miniature all'apertura del form? :)

alka
28-11-2006, 11:04
Originariamente inviato da vicky
Ma è normale che nel dbctrlgrid la la miniatura inserita in un dbimage compaia solo dopo che ci clicco sopra con il mouse? Non è possibile avere subito l'elenco di tutte le miniature all'apertura del form? :)
Posta il codice... non si può mai sapere... :)

In ogni caso, se non ricordo male, è possibile inserire anche altri controlli all'interno della TDBCtrlGrid, e gestire manualmente il caricamento delle immagini in fase di associazione di un singolo elemento alla base dati.

Ciao! :ciauz:

vicky
28-11-2006, 16:10
Ho risolto il problema della visualizzazione di tutte le miniature all'apertura del form senza bisogno di cliccarle una per una con il mouse.
Posto ugualmente il codice in quanto succede che:
- la miniatura mostrata è sempre la stessa
- quando provo ad azionare la scrollbar del dbctrlGrid scompaiono tutte le miniature. Ho pensato di dover agire sull'evento onscroll o qualcosa del genere ma non l'ho trovato riferito al dbctrlGrid.

Le immagini hanno sempre lo stesso percorso perché per rapidità mi sono limitata a stretchare :confused: le img quando dovevano fungere da miniature.
Io vorrei che quando clicco sulla miniatura si apra il formImmagine che visualizza l'immagine a grandezza naturale.





procedure TformGalleria.FormCreate(Sender: TObject);
var
ImageFileName: string;
begin
SQLConnection1.Connected:=true;
SimpleDataset1.Active:=true;
ImageFileName:= simpledataset1.FieldByName('Q_jpg').AsString;
dbimage1.Picture.LoadFromFile('E:\CATASTOAUSTRIACO \Quadri\'+ ImageFileName);
end;

procedure TformGalleria.DBImage1Click(Sender: TObject);
var
ImageFileName: string;
begin
ImageFileName:= simpledataset1.FieldByName('Q_jpg').AsString;
formImmagine.DAImage1.Picture.LoadFromFile('E:\CAT ASTOAUSTRIACO\Quadri\'+ ImageFileName);
formImmagine.Show;
formGalleria.Hide;
end;



:ciauz:

vicky
28-11-2006, 23:58
up :)

Loading