Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.975 c
14-1109406030
SOFS
2005-02-26 11:20
2005.03.20
Задачка


1-1110129911
ser35
2005-03-06 20:25
2005.03.20
DBEdit как Maskedit


6-1105643974
Бульдозер
2005-01-13 22:19
2005.03.20
Сетевая программа на чистом WinSock


14-1109331102
syte_ser78
2005-02-25 14:31
2005.03.20
Дешевые Харьковский компьютерные магазины


14-1109851963
DiamondShark
2005-03-03 15:12
2005.03.20
Беглый взгляд на первую страницу.




   Наверх