Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.027 c
1-42494           Stexen                2001-12-25 20:42  2002.01.14  
ПО-МОЕМУ интересный вопрос


7-42589           McSimm                2001-09-28 17:27  2002.01.14  
Автоматическое определение настроек LAN для IE


3-42350           dorosh                2001-12-11 14:13  2002.01.14  
Месяц в SQL запросе


1-42444           Brand                 2001-12-24 00:54  2002.01.14  
Gif на форме


4-42591           MIFI                  2001-11-09 17:31  2002.01.14  
Народ помогите разобраться