Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не вызывается OnCtlColor / 3 сообщений из 3, страница 1 из 1
02.11.2004, 17:30
    #32765386
Wahhab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается OnCtlColor
Привет.
Беда. В одном приложении (COM dll) в класс, отнаследованный от CPropertyPage, добавлена обработка WM_CTLCOLOR. Сделано это механизированным способом через окно свойств (т.е. всё написано правильно). Но OnCtlColor не вызывается!
Я сделал ещё простое тестовое приложение с диалоговым окном. Там этот класс аналогично сделан, но OnCtlColor вызывается и всё работает.
Что за чудеса? Есть у кого-нибудь соображения?
...
Рейтинг: 0 / 0
02.11.2004, 20:25
    #32765656
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается OnCtlColor
WahhabПривет.
Беда. В одном приложении (COM dll) в класс, отнаследованный от CPropertyPage, добавлена обработка WM_CTLCOLOR. Сделано это механизированным способом через окно свойств (т.е. всё написано правильно). Но OnCtlColor не вызывается!

Что за чудеса? Есть у кого-нибудь соображения?



Саабражения :
1) CPropertyPage - это не совсем диалог в Виндах, там может и не быть поддержки WM_CTLCOLOR.

2) Эта из SDK :
Remarks
The WM_CTLCOLOR message has been replaced by more specific notifications in 32-bit versions of Windows. These replacements include the following:
...
ну и т.д. Если ты ловишь родной WM_CTLCOLOR а не напр. WM_CTLCOLORBTN и т.п., то , возможно, тебе придется компилировать твою прогу под WIN16, чтобы она работала


3) Что за механизированный способ ? Может сламался ?
...
Рейтинг: 0 / 0
03.11.2004, 12:49
    #32766490
Wahhab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не вызывается OnCtlColor
MasterZivСаабражения :
1) CPropertyPage - это не совсем диалог в Виндах, там может и не быть поддержки WM_CTLCOLOR.
Таки она там есть. В тестовом приложении проверено.
MasterZiv2) Эта из SDK :
Remarks
The WM_CTLCOLOR message has been replaced by more specific notifications in 32-bit versions of Windows. These replacements include the following:
...
ну и т.д. Если ты ловишь родной WM_CTLCOLOR а не напр. WM_CTLCOLORBTN и т.п., то , возможно, тебе придется компилировать твою прогу под WIN16, чтобы она работала

Ну ты меня ваще за лоха держишь.
MasterZiv3) Что за механизированный способ ? Может сламался ? Всё просто: Class View->Messages.
Короче придумал я ловить WM_CTLCOLOR* в WindowProc и оттуда вызывать OnCtlColor, нормально работает. Хотя в целом это ненормально.

У меня тут другая беда. Не тот фон у таб-контрола, который в CPropertySheet. Я попробовал сделать, как тут сказано см . Это работает, но только в классической теме. Если тема XP, то бесполезно. Всё равно перерисовывается, как виндам охота.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не вызывается OnCtlColor / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]