Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11775
Последний выпуск: 19.06.2015

Регион для дочернего окна

293
08 мая 2013 года
plastictown
298 / / 08.01.2006
Доброго времени суток, господа!

У меня такая проблема:
есть класс окна, производный от CButton (пока это еще можно исправить, только начал)). Таких окошек должно быть уйма на родительском окне и все разной формы, при этом они должны реагировать на события только внутри региона и видно остального быть не должно. Читал в RSDN:
Цитата:
SetWindowRgn не работает для дочерних окон – окон, созданных со стилем WS_CHILD



делал так:

 
Код:
// ... //

SelectClipRgn(this->GetDC()->m_hDC, m_rgnClipRgn);

// OnLButtonDown:
if( m_rgnClipRgn.PtInRegion(point))
        AfxMessageBox(TEXT("OK"), 0, 0);
При этом окошко правильно реагирует на событие: торкаешь мимо - ничего не происходит, но рисуется окно полностью.
Если написать

 
Код:
SetWindowRgn(m_rgnClipRgn, true);
рисует как надо, но на нажатие мышки перестает реагировать вообще.

А они же у меня все дочерние, что делать не знаю. Вот примерно так все должно быть
А еще она закрашиваться не хочет. Красным цветом:)))

Ну... если может кто знает, буду благодарен.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог