Что вызывает WS_TABSTOP, чтобы повлиять на порядок картины окна?

StackOverflow https://stackoverflow.com/questions/9462797

Вопрос

в WTL, cbitmapbutton не поддерживает изображение с прозрачным слоем, как PNG. Поэтому я настраиваю код для использования GDI +, чтобы нарисовать PNG, назвать его как CPNGButton. Но все странно на Win XP. Когда кнопка перекрывается другим окном, кнопка первым получает WM_Paint, а затем родитель, вызывающий неправильный результат.

Введите описание изображения здесь --->  Введите описание изображения здесь

Я проверяю ресурс и удалите атрибут ws_tabstop с шаблона кнопки, все идут хорошо, родительское окно получает wm_paint сначала, затем кнопка. Что вызывает WS_TABSTOP, чтобы повлиять на порядок картины окна?

Это было полезно?

Решение

Это то, что происходит, когда вы не рисуете фон.Это оставляет «отверстие» в окне, вы видите пиксели от любого окна за вами.Или рабочий стол, если нет такого окна.Не иначе уверены, что это связано с ws_tabstop.

Используйте флаг стиля WS_EX_TRANSParent.Это говорит Windows, которые вы хотите, чтобы родитель кнопки нарисовать себя в клиентском окне, чтобы предоставить фоновые пиксели.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top