Вниз
Скачать: CL | DM;

ПОМОГИТЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   Найти похожие ветки 

 
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
14-42546
T2
2001-11-17 02:43
2002.01.14
Delphi, версия номер 13


1-42474
fliz
2001-12-25 12:55
2002.01.14
Запись в поток (SaveToStream) перестала работать после переноса проги на Вин2000.


7-42580
Sergei
2001-10-01 15:30
2002.01.14
У меня проблема


4-42604
Vladimir P
2001-11-12 16:57
2002.01.14
Как послать системе Ctrl+Alt+Del ?


1-42403
veles
2001-12-26 08:59
2002.01.14
Копирование файлов




   Наверх