WS_CLIPCHILDREN не работает в полноэкранном режиме - PullRequest
0 голосов
/ 27 августа 2010

У меня есть главное окно, созданное с помощью:

if (!fullscreen)
{
    wStyle = WS_OVERLAPPED | WS_BORDER | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_CLIPCHILDREN;
    wExStyle = WS_EX_TOPMOST;
}
else
{
    wStyle = WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN;
    wExStyle = WS_EX_TOPMOST;
}

У меня также есть дочернее окно, созданное с:

wStyle = WS_VISIBLE | WS_POPUP | WS_CHILD;
wExStyle = WS_EX_TOPMOST;

Все идет хорошо, когда я не в полноэкранном режиме.(т.е. дочернее окно хорошо отображается в верхней части родительского окна.)

Но когда я нахожусь в полноэкранном режиме, родительское окно закрашивается поверх дочернего окна, что вызывает ужасное мерцание.

Как установить свойства для основного и дочернего окна, чтобы хорошо отображать дочернее окно даже в полноэкранном режиме?

Заранее спасибо за все ваши ответы.

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

WS_POPUP нельзя использовать с WS_CHILD. Не уверен, что причина в этом.

2 голосов
/ 27 августа 2010

Эти комбинации флагов стиля недопустимы.Дочернее окно не может быть всплывающим и не может быть самым верхним.Не знаю, какие могут быть побочные эффекты, никогда не пытался преднамеренно ошибиться.

Застревание на этом может быть образовательным, но не очень практичнымРассматривали ли вы использовать библиотеку классов, чтобы заботиться о липких вещах?

...