Главная страница
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.03 c
3-1108544034
AlexTregubov
2005-02-16 11:53
2005.03.20
Как с помощью SQL-запроса узнать сколько человеку лет?


4-1107501679
wal
2005-02-04 10:21
2005.03.20
Консольное приложение


3-1108905629
Sergeant ///
2005-02-20 16:20
2005.03.20
Параметр LookupCombobox


1-1110039565
Leeechhhh
2005-03-05 19:19
2005.03.20
Чайниковский вопрос, хм, как получить системное время


14-1109446400
mordush
2005-02-26 22:33
2005.03.20
качалка