Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Ошибка при динамическом создании TImageList   Найти похожие ветки 

 
alex_shkut ©   (2005-03-02 21:30) [0]

 FImageList:=TCustomImageList.Create(AOwner);
//=== Собственно, ToolBar ====
 FBtnBar:=TToolBar.Create(Self);
 FBtnBar.Parent:=FBtnPanel;
 FBtnBar.ShowCaptions:=true;
 FBtnBar.Images:=FImageList;


Вот здесь и вылазит ошибка:

Project raised exception class EInvalidOperation with message "Control "" has no parent window".

Кто знает, с чем это связано?


 
alex_shkut ©   (2005-03-02 21:48) [1]

Без этой строки все работает нормально, но нужны картинки.


 
Юрий Зотов ©   (2005-03-02 22:09) [2]

Уточните - где написан этот код?
Похоже, что слишком рано, когда еще не создано окно.


 
alex_shkut ©   (2005-03-02 22:50) [3]

Проще задача состоит в том, чтобы запихнуть Icon в Bitmap.
Я пытаюсь использовать ImageList как естественное свойство ToolBar но в конструкторе Create потомка TPanel, в которую я встраиваю ToolBar возникает ошибка.
Реализовано в отдельном модуле.
TPanel -> ToolBar+ImageList -> ToolButton+ImageIndex:Icon


 
Юрий Зотов ©   (2005-03-03 00:33) [4]

Многие методы оконных контролов реализованы посылкой сообщений окну. В конструкторе же создается сам объект, а его окно еще не создано - поэтому вызов таких методов в конструкторе, вообще говоря, ошибочен. И если контролы user32 обходят эту ситуацию автоматически, за счет вызова HandleNeeded, то контролы comctl32 (а к ним и относятся тулбары) такого не любят. Похоже, отсюда и ошибка.

Попробуйте перенести код из конструктора в CreateWnd, только обязательно после вызова inherited.


 
alex_shkut ©   (2005-03-03 11:33) [5]

Спасибо огромное.
Перенес FBtnBar.Images:=FImageList в процедуру CreateWnd и все стало нормально создаваться.



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
1-1110040916
aha
2005-03-05 19:41
2005.03.20
как симитировать работу программы - программа управлениия


3-1108978313
juice
2005-02-21 12:31
2005.03.20
Типа вычисляемое поле


1-1109935767
Gek1
2005-03-04 14:29
2005.03.20
Реестр


3-1108790471
DelphiN!
2005-02-19 08:21
2005.03.20
Как работать с SQL не "визуально" ?


3-1108559386
Вован_
2005-02-16 16:09
2005.03.20
Как переименовать поле dbf-файла перед его открытием?