Здравствуйте BugMan, Вы писали:
AF>>Никак. С картинкой это работать не будет. В документации к BeginPath на MSDN перечислены функции, которые можно использовать внутри BeginPath/EndPath. Blt-функций там нет ни одной.
AF>>Поставленная задача решается тупым (или не очень) сканированием битов изображения. На VB это может получиться долго.
BM>1) А можно поточнее на счет сканирования битов ? Что значит "сканирование" в принципе ?
Это значит, что ты идешь по всем пикселям изображения и, если пиксель прозрачный, добавляешь его в регион, иначе — пропускаешь. Насчет оптимальности представления региона можно не беспокоиться, поскольку Windows все равно его оптимизирует как надо, объединив смежные пиксели. Единственная проблема, которая может возникнуть — генерация региона таким способом может оказаться достаточно долгой. Тут можно по разному оптимизировать: например, добавлять не отдельные пиксели, а целые горизонтальные отрезки высотой в 1 пиксел.
BM>2) А что если попробовать сделать саму форму прозрачной — это можно как-нить ? , а на нее уже наложить битмап .......
BM>Задача то вобщем-то стоит просто — Сделать симпатичный SplashScreen — всего-то
Я чесно говоря думал что под это кже были стандартные решения
В Win2K and later это действительно делается как два байта переслать с помощью layered windows (см. WS_EX_LAYERED, SetLayeredWindowAttributes в MSDN).