Re[9]: Кнопка поверх...
От: Аноним  
Дата: 08.12.04 15:36
Оценка:
А>Теперь токо осталось разобраться с GROUPBOX, он себя любопытно ведет, фон внутри этого GROUPBOX почему то не перерисовывает, там остается изображения части других окон, а когда закрываешь все окно диалога, то потом он закрашивает начинку GROUPBOX белым — типа цвет по умолч. пошел разбираться дальше

GROUPBOX победил с помощью совета Натали http://www.rsdn.ru/Forum/?mid=62893
Автор: Кодт
Дата: 11.06.02


Необходимо отобрать у гл. окна диалога стиль — WS_CLIPCHILDREN чтобы он начал рисовать нормально (а не просвечивать). Однако это еще не все. Контролы внутри GROUPBOX при этом перестают отображаться, чтобы этого избежать мне пришлось убрать у этих контролов стиль — WS_CLIPSIBLINGS (несмотря на рекомендации MSDN о стиле добавляемых контролов на диалог). Т.е.:

Гл. окно диалога:
....
WS_CLIPSIBLINGS
Not WS_CLIPCHILDREN (т.е. отбираем стиль у окна)

GROUPBOX:
WS_VISIBLE
WS_CHILD
WS_CLIPCHILDREN
WS_CLIPSIBLINGS
DS_3DLOOK
DS_CONTROL

Контрол внутри GROUPBOX:
WS_VISIBLE
WS_CHILD
WS_CLIPCHILDREN
Not WS_CLIPSIBLINGS
DS_3DLOOK
DS_CONTROL

В окнах других программ через Spy++ я смотрел контролы внутри GROUPBOX имели WS_CLIPSIBLINGS, но тогда parent window GROUPBOX не имело WS_CLIPSIBLINGS...проверить это на станд. диалоге open невозможно, потому что у него отобрать WS_CLIPSIBLINGS у меня не получилось... так что приходится строить токо предположения, что если гл. окно имеет WS_CLIPSIBLINGS, то контролы внутри GROUPBOX НЕ ДОЛЖНЫ иметь WS_CLIPSIBLINGS...видимл в этом кроется какой-то смысл
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.