powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Отрисовка иконок в VTV
4 сообщений из 4, страница 1 из 1
Отрисовка иконок в VTV
    #39865830
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь может объяснить, в чем смысл этого кода?
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
procedure DrawImage(ImageList: TCustomImageList; Index: Integer; Canvas: TCanvas; X, Y: Integer; Style: Cardinal; Enabled: Boolean);

  procedure DrawDisabledImage(ImageList: TCustomImageList; Canvas: TCanvas; X, Y, Index: Integer);
  {$if CompilerVersion >= 21}
  var
    Params: TImageListDrawParams;
  begin
    FillChar(Params, SizeOf(Params), 0);
    Params.cbSize := SizeOf(Params);
    Params.himl := ImageList.Handle;
    Params.i := Index;
    Params.hdcDst := Canvas.Handle;
    Params.x := X;
    Params.y := Y;
    Params.fState := ILS_SATURATE;
    ImageList_DrawIndirect(@Params);
  {$else}
  begin
    TCustomImageListCast(ImageList).DoDraw(Index, Canvas, X, Y, Style, False);
  {$ifend}
  end;

begin
  if Enabled then
    TCustomImageListCast(ImageList).DoDraw(Index, Canvas, X, Y, Style, Enabled)
  else
    DrawDisabledImage(ImageList, Canvas, X, Y, Index);
end;



С какой целью вызывается ImageList_DrawIndirect вместо стандартного ImageList.DoDraw?


С уважением, Vasilisk
...
Рейтинг: 0 / 0
Отрисовка иконок в VTV
    #39865852
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри в репо, когда это было добавлено, может, в коммит мессаге что-то полезное будет
...
Рейтинг: 0 / 0
Отрисовка иконок в VTV
    #39865868
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

в моем VTV такого нет... :(
...
Рейтинг: 0 / 0
Отрисовка иконок в VTV
    #39865891
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2Посмотри в репо, когда это было добавлено, может, в коммит мессаге что-то полезное будет Нашел . Говорят эмбаркадеро поломало отрисовку неактивных сообщений. По истории изменений стабильно увеличивали CompilerVersion

ёёёёёв моем VTV такого нет... :(И это хорошо. Ибо оно не работает. Флаг ILS_SATURATE можно устанавливать только для 32-битных рисунков. Для обычных получается треш.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Отрисовка иконок в VTV
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]