![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WM_DRAWITEM и WM_PAINT
Labert © (2004-03-08 21:33:00)Нужно было сделать непрямоугольную кнопку. Форма кнопки задается картинкой BMP. Левый верхний пиксель задает прозрачный цвет. Прозрачные области поверхностью кнопки не считаются, и через них должна быть фидна форма, и все что на ней.
Сделал свою кнопку - на базе обычной кнопки Windows-класса 'Button'. Добавил стиль BS_OWNERDRAW. При обработке события WM_DRAWITEM рисую заранее сформированный битмап. Тут все нормально.
Проблемы с обработкой WM_PAINT.
При поступлении сообщения WM_PAINT я делаю тоже самое - рисую битмап. Но контролы, которые по идее расположены ПОД моей кнопкой, перерисовывают себя СВЕРХУ моей кнопки. Получается неправильно. То есть это происходит, когда вся форма получает сообщение WM_PAINT.
BringWindowToTop() не помогает.
Помогите, кто может, пожалуйста.
wicked (2004-03-09 03:02:00) [1]SetWindowPos - должно по идее работать и для дочерних окон, но я сам не пробовал, не гарантирую...