Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.004 c
1-42483
катерина
2001-12-25 16:17
2002.01.14
ну,кто-нибудь!.... :-(


1-42411
Bar
2001-12-25 20:34
2002.01.14
GetVolumeInformation неодинаково ведет себя под 98/Me и NT


3-42370
Марина
2001-12-11 10:20
2002.01.14
Как использовать ADO для таблиц *.dbf


4-42624
VitaS
2001-11-14 21:51
2002.01.14
Передача управления windows


14-42553
paul_shmakov
2001-11-19 15:10
2002.01.14
Рихтер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский