Форум: "Компоненты";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
ВнизПроблема с ActiveX-контролом: "control ... has no parent window" Найти похожие ветки
← →
3fc © (2004-10-13 08:12) [0]Добрый день, уважаемые мастера!
Помогите, плиз, с данной проблемой. При регистрации ActiveX-компонента Delphi выдает вышеуказанное сообщение. Компонент выводит текст под произвольным углом средствами WinAPI. Код конструктора следующий:
...
type
TRotateText = class(TWinControl)
private
Fdc: HDC;
...
constructor TRotateText.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
...
Parent := nil;
Fdc := GetDC(Handle); //далее использую Fdc при выводе текста
...
end;
...
Что я делаю не так?
← →
Юрий Зотов © (2004-10-13 13:35) [1]GetDC(Handle)
Обращение к хэндлу окна происходит в конструкторе, когда окно еще не создано. Перенесите в метод СreateWnd ПОСЛЕ вызова inherited. И уберите Parent := nil. А при выводе текста, если есть опасность, что окна еще нет, проверяйте HandleAllocated.
← →
3fc © (2004-10-14 08:10) [2]Юрий Зотов
Ок, спасибо за совет, все работает.
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c