Здравствуйте, Corvin, Вы писали:
C>Моя задача — сделать главное окно приложения в форме некоего битмапа — изображения открытой книги. C>Я так понимаю, что с MFC-шными окнами использовать SetLayeredWindowAttributes будет непросто.
Я использовал лейеры с WTL — без проблем. Думаю, что с MFC тоже проблем не будет. Делаешь окно без бордюра, без заголовка и со стилем WS_EX_LAYERED. В паинте заливаешь все ненужные части окна специфичным цветом и указываешь его в SetLayeredWindowAttributes. Всё.
C>Нашел примеры использования CRgn, но не пойму, как сделать так, чтобы регион имел форму, определенную битмапом (с ключом, какой цвет считать прозрачным). Так можно сделать?
Можно сделать, скомбинировать регионы, но по сравнению с лейрами мне данный способ кажется извращением. С другой стороны — регионы придётся использовать если тебе нужна поддержка старых или мобильных платформ. Код тебе уже дали.