![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пиктограммы в компоненте... [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