I believe you could work around the problems mentioned by resorting to the following trick:
Place an image control on the form
In the grid's afterrowcolchange event, put code to populate the image control with the image related to the record you are displaying.
I have done this for a client who wanted to display pictures of his stock and it is very fast
Here is an example of the code used:
LPARAMETERS nColIndex
local cCode
cCode = alltrim(items.itemcode)
theimage= 'C:\pictures\thumbnails\'+'TN_'+cCode+'.jpg'
with thisform
if file ('&theimage')
with .Image1
.visible = .t.
.picture = theimage
endwith
else
.Image1.visible = .f.
endif
.refresh
endwith
All your images would reside in a common directory and would have to have a code linked to the item code.
The way this works is, as you navigate the grid, the item code is placed in a local variable, then it is integrated with the picture code and, if there is an image corresponding to the article, it is shown in the image control, placed on the form. The effect is the same and you do not have to burden your grid with special container controls and images, that would castigate performance to an unbearable level.
Rafael Copquin
Treasurer - Microsoft Users Group of Argentina (MUG)
www.mug.org.ar