Intanto non riesco a farlo funzionare. Non capisco se il datasource lo devo assegnare solo al dbctrlgrid o anche al dbimage, dbtext e dbmemo. E se sia sempre lo stesso per tutti e quattro i componenti. Se è lo stesso e va settato per tutti i componenti, compreso il dbctrlgrid, osservo che non riesco a stabilire a runtime il campo della tabella del database che deve essere visualizzato.
codice:
es.: DBMemo1.DataField := 'Mappa_didascalia';
L'unica possibilità è farlo a design time, ma non mi è possibile per l'immagine in quanto il database memorizza solo una parte del percorso dell'immagine e quindi il percorso completo va determinato a runtime.
codice:
es.:
procedure TformGalleria.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
Index: Integer);
var ImageFileName: string;
begin
ImageFileName:= simpledataset1.FieldByName('Mappa_file').AsString;
DBImage1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+
'IMG\miniature\' + ImageFileName + '.jpg');
end;
Poi mi piacerebbe che lo scorrimento delle immagini avvenisse come in una scrollbox : cioè in maniera "fluida" e non a scatti come nel dbctrlgrid.
Da come mi descrivi questo "ripetitore di controlli" forse hai ragione a dire che sia la soluzione migliore e che gli aspetti estetici possono essere affrontati in molti modi (per esempio mi serve un margine esterno maggiore e delle miniature più vicine fra di loro): l'essenziale però è il corretto funzionamento del controllo che tuttora non riesco ad ottenere.
Grazie