Главная страница
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.084 c
14-1109341596
pavel_guzhanov
2005-02-25 17:26
2005.03.20
Книги на английском


1-1109880616
MORA
2005-03-03 23:10
2005.03.20
Как запустить таймер в потоке?


4-1107798622
Putnik
2005-02-07 20:50
2005.03.20
EnumCalendarInfo


11-1092650554
Алексей
2004-08-16 14:02
2005.03.20
Как вернуть фокус на закладки TabControl a


9-1092944420
Zer0[np]
2004-08-19 23:40
2005.03.20
А не устраивать ли нам небольшие конкурсы по кодингу? (ч.2)