Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пиктограммы в компоненте... [D6, Win2k]


Mishenka ©   (2005-02-22 15:16:00) 

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


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

Я пытался подобным образом создать 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  
---------------------------
Вчем проблема?


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

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 и так далее...


Sandman25   (2005-02-22 16:08:00) [3]

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


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

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

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


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

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

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

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


Sphinx   (2005-02-22 15:22:00) [6]

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо