Добрый день.
В версии 10.0 были изменения связанные с добавлением поддержки HiDPI.
Для отображения картинок в кнопках навигатора теперь используется не один ImageList а отдельный класс TResourceImageItemEh для каждой кнопки.
Для изменения картинок в навигаторе грида необходимо
1. Скачать сборку не ниже EhLib.VCL 10.0 Build 10.0.033
2. Создать отдельные экземпляры класса TResourceImageItemEh для каждой картинки (кнопки).
3. Присвоить экземпляр класса TResourceImageItemEh свойствам TDBGridEhCrack(DBGridEh1).HorzScrollBarPanelControl.ExtraPanel
ExtraPanel.FirstImageItem := FMyGridScrollBarNavFirstImageItem;
ExtraPanel.PriorImageItem, ExtraPanel.NextImageItem, ExtraPanel.LastImageItem, InsertImageItem DeleteImageItem EditImageItem PostImageItem CancelImageItem RefreshImageItem
Ниже приведен пример код для установки одной картинки для кнопки навигатора First, для одного грида.
Код:
uses ... EhLibImageReses,
TForm1 = class(TForm)
...
public
FMyGridScrollBarNavFirstImageItem: TResourceImageItemEh;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
StdImages: array of TGraphic;
DisableImages: array of TGraphic;
begin
// SetLength(StdImages, 3);
// SetLength(DisableImages, 3);
SetLength(StdImages, 1);
SetLength(DisableImages, 1);
StdImages[0] := GetImageFromImageList(ImageList16, 0);
// StdImages[1] := GetImageFromImageList(ImageList24, 0);
// StdImages[2] := GetImageFromImageList(ImageList32, 0);
DisableImages[0] := GetImageFromImageList(ImageList16, 0);
// DisableImages[1] := GetImageFromImageList(ImageList24, 0);
// DisableImages[2] := GetImageFromImageList(ImageList32, 0);
FMyGridScrollBarNavFirstImageItem := TResourceImageItemEh.Create;
FMyGridScrollBarNavFirstImageItem.InitGraphics(StdImages, DisableImages);
TDBGridEhCrack(DBGridEh1).HorzScrollBarPanelControl.ExtraPanel.FirstImageItem := FMyGridScrollBarNavFirstImageItem;
end;
Если в StdImages (DisableImages) добавлять несколько картинок под разное DPI, то алгоритм сам будет выбирать картинку в зависимости от текущего DPI экрана.