Форум: "Основная";
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];
Вниз
ПОМОГИТЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Найти похожие ветки
← →
michael (2001-12-23 14:43) [0]Где можно узнать по подробнее:
Как создать непрямоугольную форму на базе
растровой картинки не используя специальных компонетов.
← →
Al Creator (2001-12-24 22:33) [1]В этом форуме уже писали подобную прогу, по крайней мере ко мне приходила. Могу покопаться дома и найти, если хочешь, но результат её работы не самый лучший, она долго думает, а в конце не совсем то что хочешь получается, но, в принципе, она намного лучше того, чтоя писал года 2 назад. Всё писать не буду, да и текстуху полную я сейчас сомневаюсь, что найду, но общий смысл поясню. Итак:
В 32-х разрядных версиях форточек можно получить окно произвольной формы с помощью SetWindowRGN/Нам нужен регион, совпадающий с формой окна и наш, произвольный. Оба они типа HRGN. Прямоугольный регион -RectRGN, CreateRectRGN(началоХ,началоУб правый нижний Х, аналогично У) - создаём регион окна им.Помню ещё, что есть, например CreateEllipticRGN(аналогично с RectRGN) и вроде есть ещё какие-то. Нужну область окна создаёщь с помощью комбинации двух регионов CombineRGN(если не ошибаюсь, резулт регион, регион1, регион2 , действие (например вычитание - RGN_DIFF))/
Потом просто присваеваешь окну форму региона - SetWindowRgn(Handle, регион,True).
Да ещё очень важно не забыть удалить регионы по окончанию работы программы, например в FormDestroy
DeleteObject(регион)
...
И последнее, мой совет не используй бит-мап, лучше разбей какой-то векторный форма, напрмер DXF - описания его валяются во многих местах,
и рисуй по нему. Почему? Какое у тебя разрешение экрана? Умнож Х на У и посчитай сколько раз ты будешь обрабатывать регионы... Очень долго. Лучше нарисуй контуры линиями, а затем их складывай или вычитай - так будет очень быстро и всё-равно красивей. Могу добавить, что первый раз я про это дело прочёл в какой-то книге, мне понравилось и я долго манался с созданием окна в форме черепа, ничего получилось, правда с того времени я поменял уже два своих винта и несколько раз форматировал оные. найду или нет не знаю, но если ты посидишь с этим делом поупорней, то сможешьсам всё сделать, без чьих-то прог, и потом ты это запомнишь так, как запомнил это я, а я повторить подобное точно могу.
← →
Sergey_n (2001-12-25 00:17) [2]Поищи туты http://www.sources.ru/cpp_src2.shtml в смысле просмотри все страницы, их там около 16. Этот исходник там точно есть, т.к. себе закачивал.
← →
Sergey_n (2001-12-25 00:29) [3]http://www.sources.ru/cpp/cpp_create_region_from_file.shtml
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c