![]() |
|
|
![]()
|
|
| torero |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 177 Регистрация: 1.2.2006 Репутация: нет Всего: нет |
Всё мучаю свой контрол ATL-ActiveX. С методами разобрался, работают. Добавленные свойства и страницы свойств тоже работают. Но есть ещё два способа изменения свойств.
1. Когда создавал контрол, то в таблице "Свойства ATL Object Wizard" на вкладке Stock Properties, я задал свойство Back Ground Color. Теперь в контейнере, в свойствах контрола есть стандартная таблица свойств, где можно изменить цвет BackGround (на стадии проектирования контейнера ). В таблице цвет меняется, а у контрола нет. Есть ли известный механизм передачи цвета, чтобы можно было его проверить? Что у меня вызывает подозрение, в интерфейсе есть такие операторы:
Здесь переменные для OLE_COLOR clr и *pclr . Но в классе CFirstATL создана переменная цвета OLE_COLOR m_clrBackColor; И нет связи между этими переменными. У кого работает изменение цвета, как у Вас эти переменные задейстьвованы? Может быть нужно мне самому вставить в OnDraw операторы закрашивания окна контрола? Это, конечно, можно сделать, но, наверно, не нужно. Ещё есть в классе CFirstATL оператор : PROP_ENTRY("BackColor", DISPID_BACKCOLOR, CLSID_StockColorPage) - здесь вроде бы всё правильно. А может быть в контейнере причина. Напишите, пожалуйста, как у вас дела с изменением Back Ground-а? Работаю в 6-ой студии, так-как для неё написаны учебники, чтобы не было ошибок перехода к 8-ой. Это сообщение отредактировал(а) Rrader - 19.12.2009, 14:21 |
|||
|
||||
| kurlyak |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 7.11.2007 Репутация: нет Всего: 3 |
Попробуй поэкспериментировать с этим:
А в классе своем FirstATL добавить:
И в функции OnDraw своего элемента в самом начале функции:
Это сообщение отредактировал(а) kurlyak - 24.3.2010, 23:04 |
||||||
|
|||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |