VC++ 7.0 (WTL/ATL)
Задача: реализовать скин. Нужно по картинке из файла сделать форму.
Пока я сделал так: делаю 2 файла. Первый двухцветный — типа маска. По этой картинке делаю регион (выбираю определенный цвет) — окно становится, например, со скругленными краями. А второй файл уже нормальная картинка и его рисую в качестве background.
Вопрос: может можно нарисовать одну картинку с прозрачными пикселами и какой-нибудь функцией наложить ее на форму и форма станет прозрачной где надо и background сразу будет?
И еще: как изменить размер окна, унаследованного от CDialogImpl? Что-то width и height нету?
Спасибо.
Здравствуйте, ivanovnikolay, Вы писали:
I>VC++ 7.0 (WTL/ATL) I>Задача: реализовать скин. Нужно по картинке из файла сделать форму. I>Пока я сделал так: делаю 2 файла. Первый двухцветный — типа маска. По этой картинке делаю регион (выбираю определенный цвет) — окно становится, например, со скругленными краями. А второй файл уже нормальная картинка и его рисую в качестве background. I>Вопрос: может можно нарисовать одну картинку с прозрачными пикселами и какой-нибудь функцией наложить ее на форму и форма станет прозрачной где надо и background сразу будет?
I>И еще: как изменить размер окна, унаследованного от CDialogImpl? Что-то width и height нету? I>Спасибо.
Здравствуйте, ivanovnikolay, Вы писали:
I>VC++ 7.0 (WTL/ATL) I>Задача: реализовать скин. Нужно по картинке из файла сделать форму. I>Пока я сделал так: делаю 2 файла. Первый двухцветный — типа маска. По этой картинке делаю регион (выбираю определенный цвет) — окно становится, например, со скругленными краями. А второй файл уже нормальная картинка и его рисую в качестве background. I>Вопрос: может можно нарисовать одну картинку с прозрачными пикселами и какой-нибудь функцией наложить ее на форму и форма станет прозрачной где надо и background сразу будет?
[]
Можно залить прозрачные регионы например 0xFF00FF, а при отрисовке делать TransparentBlt с указанным цветом.
Здравствуйте, ivanovnikolay, Вы писали:
I>Здравствуйте, BuHHunyx, Вы писали:
BHH>>Можно залить прозрачные регионы например 0xFF00FF, а при отрисовке делать TransparentBlt с указанным цветом.
I>Вот код, но он почему-то нен работает
Наконец-то, заработало. Спасибо большое.
А теперь тогда еще такой вопрос: хотелось бы чтобы контролы Static Text были прозрачны, т.е. их серый фон не был виден, а виден был рисунок на форме под ними, но чтобы надписи они отображали. Вижу свойство Transparent у Static Text, но он что-то никак не влияет.
Здравствуйте, ivanovnikolay, Вы писали:
I>Наконец-то, заработало. Спасибо большое. I>А теперь тогда еще такой вопрос: хотелось бы чтобы контролы Static Text были прозрачны, т.е. их серый фон не был виден, а виден был рисунок на форме под ними, но чтобы надписи они отображали. Вижу свойство Transparent у Static Text, но он что-то никак не влияет.
У парента твоего статика нужно обработать WM_CTLCOLORSTATIC, и в обработчике вернуть 0
Здравствуйте, ivanovnikolay, Вы писали:
I>Наконец-то, заработало. Спасибо большое. I>А теперь тогда еще такой вопрос: хотелось бы чтобы контролы Static Text были прозрачны, т.е. их серый фон не был виден, а виден был рисунок на форме под ними, но чтобы надписи они отображали. Вижу свойство Transparent у Static Text, но он что-то никак не влияет.
А теперь новый текст накладывается на старый до тех пор, пока окно не перерисуется.
Может функцию написать, которая будет устанавливать новый текст, а потом Invalidate()?
Здравствуйте, ivanovnikolay, Вы писали:
I>А теперь новый текст накладывается на старый до тех пор, пока окно не перерисуется. I>Может функцию написать, которая будет устанавливать новый текст, а потом Invalidate()?