Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

Ошибка при динамическом создании 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.07 c
1-1109825588
01
2005-03-03 07:53
2005.03.20
Как достучаться до того, кто вызвал POPUP?


1-1109841017
Zhekson
2005-03-03 12:10
2005.03.20
{-I} {+I} {IOResult}


14-1109236405
Cosinus
2005-02-24 12:13
2005.03.20
Проблемма с загрузкой Windows 2000...


1-1109782453
Knight
2005-03-02 19:54
2005.03.20
TShellTreeView.Root...


14-1109398331
31512
2005-02-26 09:12
2005.03.20
Распространённость различных операционных систем





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский