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

Вниз

Пиктограммы в компоненте...   Найти похожие ветки 

 
Mishenka   (2005-02-22 15:16) [0]

Есть компонент, у которого есть PopupMenu, у пунктов которого должны быть пиктограммы. Где разместить ImageList c пиктограммами, если сам компонент своей формы не имеет?


 
Александр Иванов ©   (2005-02-22 15:18) [1]

1. Можешь создать его динамически
2. На форме, находящейся в модуле, включенном в секцию uses


 
Sphinx   (2005-02-22 15:22) [2]

Если твой компонент то вопрос не понятен, если сторонний - создай наследника и размести скажем в private этот самый ImageList


 
Mishenka   (2005-02-22 15:44) [3]

Компонент пишу сам.

> Александр Иванов ©   (22.02.05 15:18) [1]
> 1. Можешь создать его динамически

А сами пиктограммы в ImageList тоже динамически загружать?


 
Sphinx   (2005-02-22 15:52) [4]

> А сами пиктограммы в ImageList тоже динамически загружать?

А в чем проблема ?


 
Sandman25 ©   (2005-02-22 16:08) [5]

И не забывайте, что нет необходимости создавать отдельный ImageList для каждого экземпляра компонента.


 
XP   (2005-02-22 16:29) [6]

type
 TaComponent = class(TComponent)
 private
   FMenu: TPopupMenu;
   FImageList: TImageList;
 public
   constructor Create(AOwner: TComponent); override;
 end;

...

implementation

{$R RESOURCES.RES}

constructor TaComponent.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 FMenu := TPopupMenu.Create(Self);
 ... // создание пунктов меню
 FImageList := TImageList.Create(Self);
 if not FImageList.ResInstLoad(HInstance, rtBitmap, "BITMAP", clWhite) then
   ShowMessage("Resource "BITMAP" not found");
 FMenu.ImageList := FImageList;
end;


Соответственно, должен быть создан ресурсный файл "RESOURCES.RES" (например, в Image Editor"е) с ресурсом "BITMAP", и размещен в папке проекта, чтобы линковщик его нашел. В ресурсе BITMAP должны размещаться все рисунки последовательно, то бишь, рисунок 24х48, если их должно быть два, 24х72, если их должно быть 3 и так далее...


 
alex_shkut   (2005-03-02 20:21) [7]

Я пытался подобным образом создать TImageList и получаю сообщение: ---------------------------
Debugger Exception Notification
---------------------------
Project ХХХХ raised exception class EInvalidOperation with message "Control "" has no parent window". Process stopped. Use Step or Run to continue.
---------------------------
OK   Help  
---------------------------
Вчем проблема?



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
8-1102006537
Stiv
2004-12-02 19:55
2005.03.20
формат tga


1-1110214130
mordush
2005-03-07 19:48
2005.03.20
Desktop


1-1109922312
Шурик Ш
2005-03-04 10:45
2005.03.20
Из какой ветки реестра берутся рег. настройки нов. пользователя?


14-1109746281
Ломброзо
2005-03-02 09:51
2005.03.20
Англоязычная документация


1-1110366264
Dyusha
2005-03-09 14:04
2005.03.20
Одна и та же процедура каждые 5 минут