Пользовательская оконная рама - гладкая граница? - PullRequest
1 голос
/ 23 февраля 2012

Я рисую пользовательскую границу в своем приложении, обрабатывая сообщение WM_NCPAINT в моем обработчике сообщений. Проблема в том, что даже после установки области окна углы моего приложения не являются «гладкими».

Я подумал, что, возможно, я мог бы просто получить HDC для экрана и интерполировать пиксели по углам, чтобы получить эффект полупрозрачности, но, видя, что мне придется постоянно перерисовывать границу, когда пользователь перемещает окно, не думаю, что это правильный вариант.

Кто-нибудь знает способ имитации полупрозрачности или хотя бы сглаживания границы возле углов?

Вот как выглядят углы:

http://i.imgur.com/Xaj9k.png

Заранее спасибо.

1 Ответ

3 голосов
/ 23 февраля 2012

Используйте Многослойное окно .Это работает с Windows 2000 и более поздних версий.

Если вы хотите использовать эффекты Aero Glass (начиная с Vista), то эта статья содержит хороший обзор исторических методов рисования и подробности использования диспетчера окон рабочего стола.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...