Örnek tablomuzda eğer RefRecId değeri dolu ise
OK değilse
Cancel buton resmi göstereceğiz. Bunun için tablomuza bir display method yazıyoruz:
display ImageRes dispIsOKImg(gzrForeSightOrderLines l)
{
#resAppl;
return l.RefRecId == 0 ? #ImageError : #Image_OK;
}
Gridinize bir Window kontrol ekleyin. Örnekteki ismi
LineOK olsun. Kontrolün
AlignControl özelliğini
No yapın.
DataMethod'a display methodumuzun adı (burada
dispIsOKImg),
Datasource alanına da tablomuzun adını (burada
gzrForeSightOrderLines) yazıyoruz. Height ve Width alanlarına da uygun değerler verin. Ben 14 yazdım. Eğer resimleriniz çok büyükse
ImageMode değerini
Size to fit yapabilirsiniz.
Formu çalıştırdığınızda resimlerin sık sık yenilendiğini göreceksiniz. Bunu engellemek için resimleri formu ilk çalıştırırken yüklemek gerekir:
ClassDeclaration metodu:
ImageList imageList;
Init metodu:
#resAppl
imageList = new Imagelist(Imagelist::smalliconWidth(),Imagelist::smalliconHeight());
imagelist.add(new image(#Image_OK));
imagelist.add(new image(#ImageError));
LineOK.imageList(imageList);
Display metoddaki return satırını aşağıdakiyle değiştirin:
return l.RefRecId == 0 ? 1 : 0;
resAppl makrosunun içindeki imaj listesini görmek/güncellemek için AOT->Macros->ResAppl->Düzenle.
Sistemde kayıtlı tüm imaj dosyalarını görmek için Araçlar->Geliştirme araçları->Katılaştırılmış kaynaklar (Bu terim türkçeye gerçekten çok tuhaf çevrilmiş, orijinalinde
Embedded resources yazıyor ki bu çok daha anlamlı, gömülü kaynaklar olmalıydı).