Главная страница
    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.053 c
8-1102138728
PaVV
2004-12-04 08:38
2005.03.20
формат Png и Delphi


4-1107521888
Alxxla
2005-02-04 15:58
2005.03.20
проблема с WMPAINT в стандартном TEDIT


14-1109835918
syte_ser78
2005-03-03 10:45
2005.03.20
QuickRep


1-1110129911
ser35
2005-03-06 20:25
2005.03.20
DBEdit как Maskedit


14-1109456055
Piter
2005-02-27 01:14
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский