:::: MENU ::::
Posts tagged with: Как добавить картинку в грид

Как добавить картинку в грид

В этом примере рассматривается один из вариантов отображения картинки в табличной части на форме.

Похожие примеры можно посмотреть на следующей форме и отчете

tutorial_Resources

tutorial_Resources

В примере есть следующий код

X++:

void init()

{

int i,j;

//container con;

//Image img = New Image();

;

 

super();

 

for (i=1; i<60000; i++)

{

if (Image::validResource(i))

{

noOfRes++;

a[noOfRes] = i;

}

}

 

 

table.rows(noOfRes);

 

for (i=1; i<=noofRes; i++)

{

table.cell(1,i).data(a[i]);

table.cell(2,i).data(a[i]);

table.cell(3,i).data(a[i]);

 

// v-artemt, 7 Jul 2004

// this code will work with the new kernel, not earlier then 6 Jul

table.cell(4,i).data( Image::resourceType(a[i]) ? "ico" : "bmp");

}

 

table.setColLabel(1,"Resource ID");

table.setColLabel(2,"Image");

table.setColLabel(3,"Transparent image");

table.setColLabel(4,"Image type");

}

Указанный метод «дергает» номер ресурса в бинарном файле.

Добавить собственное изображение достаточно просто

Для этого надо добавить в узел resource рисунок. В коде вы можете использовать только название ресурса, а не номер.

Вот пример использования собственного изображения

X++:

#resappl

public void init()

{

;

/*

new(int cx, int cy,transparent)

cx – The width that the images in the list will have, in pixels.

cv – The height that the images in the list will have, in pixels.

transparent – If set to true, the image is drawn transparently, using the mask, regardless of background color.

*/

imageList =  new ImageList(16,16, true);

super();

Image = new Image();

Image.loadImage(SysResource::getImagePath(ResourceStr(hom_GIF)));

imageList.add(Image);// element 0

Image = new Image(#Imagefactory);

imageList.add(Image);// element 1

/*

replace standart imagelist with custom

*/

CustImage.imageList(imageList);

}

Окончательно меняем метод вывода изображения

X++:

display int Tutorial_CusImage (Tutorial_CusImage _Tutorial_CusImage)

{

if (_Tutorial_CusImage.SimpleField==0)

return 0;

if (_Tutorial_CusImage.SimpleField==1)

return 1;

 

return 2;

}