Главная страница
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.031 c
1-1109884734
Narik
2005-03-04 00:18
2005.03.20
WebBrowser


1-1109942669
Scorpio
2005-03-04 16:24
2005.03.20
Плавающая точка


1-1110167360
X-Disa
2005-03-07 06:49
2005.03.20
Отлов щелчка мыши


6-1100065684
Юстос
2004-11-10 08:48
2005.03.20
Модули CGI написанные на Delphi не работают под IIS Win Srv 2003


4-1107533427
_Вован
2005-02-04 19:10
2005.03.20
Работа с системным реестром