Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

как впихнуть в ImageList иконку нестандартного размера   Найти похожие ветки 

 
webpauk ©   (2012-06-18 12:42) [0]

На форме есть ImageList (Width = 48, Height = 48)
Пытаюсь:

MyIcon:=TIcon.Create;
MyIcon.Width:=48;
MyIcon.Height:=48;
ImageList.AddIcon(MyIcon);

происходит ошибка, т.к. при добавлении иконки в AddIcon проверяется её размеры:

function TCustomImageList.AddIcon(Image: TIcon): Integer;
begin
 if Image = nil then
   Result := Add(nil, nil)
 else
 begin
   CheckImage(Image);
   Result := ImageList_AddIcon(Handle, Image.Handle);
 end;
 Change;
end;

procedure TCustomImageList.CheckImage(Image: TGraphic);
begin
 if Image <> nil then
   with Image do
     if (Height < FHeight) or (Width < FWidth) then
       raise EInvalidOperation.Create(SInvalidImageSize);
end;


Как обойти ограничение? Ведь вручную иконка впихивается!!!


 
brother ©   (2012-06-18 12:52) [1]

перекрыть CheckImage?


 
webpauk ©   (2012-06-18 13:11) [2]

Нашел:

function ImageList_ReplaceIcon(ImageList: THandle; Index: Integer; Icon: hIcon): Integer; stdcall; external "comctl32.dll" name "ImageList_ReplaceIcon";

procedure MyAddIconPrc;
begin
  ImageList_ReplaceIcon(ImageList.Handle, -1, MyIcon.Handle);
end;



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.051 c
2-1330249957
Pert21
2012-02-26 13:52
2013.03.22
Добавление и удаление свойства в процессе работы программы


2-1331751635
White
2012-03-14 23:00
2013.03.22
Сбивается БД


3-1285656778
ABolnykh
2010-09-28 10:52
2013.03.22
Как предотвратить появление окна запроса пароля PasswordDialog?


15-1330287987
Дмитрий С
2012-02-27 00:26
2013.03.22
Меня иногда удивляет, как можно придумывать вообще такое?


15-1338799914
Empleado
2012-06-04 12:51
2013.03.22
iOS - security guide