![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
В нашем FAQe не хуже написано Как создавать не квадратные формы и контролы? Как создать круглую форму? Как сделать дырку в окне? Как создать форму в форме эллипса? Как сделать Memo с закруглёнными краями? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 1 Всего: 78 |
И правда, на нашем FAQ все лучше расписано! -------------------- Ll 2 |
|||
|
||||
| Scotch |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 24.9.2007 Репутация: нет Всего: нет |
Расписано может быть и хорошо, но по моей проблемке ничего не нашел
Мне нужно вырезать в форме 2 прямоугольника, если делать это через SetWindowRgn то захожу в тупик - вырезается только 1, как ни крути |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Все это делается последовательными вызовами CombineRgn. Эта функция служит для объединения и ее можно вызывать много раз для изменения региона. Модератор: темы объединил. Это сообщение отредактировал(а) Alexeis - 26.9.2007, 19:18 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Scotch |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 24.9.2007 Репутация: нет Всего: нет |
Понятно, оказывается все просто
|
|||
|
||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: нет Всего: 18 |
А вот у меня, так, ради интереса, появилась пара вопросов.
1. При "обрезке" формы регионом она теряет ХР-шный вид. Как с этим бороться? 2. Если то же самое делать с кнопой, то края у нее обрезаются довольно нелицеприятно. Регион просто ограничивает область видимости контрола. Мне бы, например, хотелось бы увидеть ту же кнопку, но с "правильными" краями. Это возможно без долгих извращений? -------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Сам все сказал.
Добавлю только что не только область рисования, но ограничивает и область при попадании в которую курсора мыши винда отсылает сообщения о перемещении, кликах, передаче фокуса ввода и т.д. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: нет Всего: 18 |
Alexeis, это все так. Может быть я не слишкм конкретно вопрос ставлю?.. На пальцах. У кнопы, если есть манифест, вокруг синенькая рамочка. Прямоугольная. А как мне сделать круглый батон с такой же рамочкой? Да и вообще батон любой формы? Да тоже и формы касается. Есть ли вариант ей по границе региона бордер налепить? И еще про форму. После установки ей региона, у нее пропадает стиль ХР. Сразу после первой перерисовки. -------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: нет Всего: 18 |
М-да... Из того, что смог найти, делаю вывод, что без извращений не обойтись...
-------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
А что дырку то делать... TransparentColor в true, TransparentColorValue = clRed (например), и рисуем себе дырку красного цвета... *для формы)
Это сообщение отредактировал(а) lukas - 29.9.2007, 16:45 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Так дырка тоже регионами делается, только вычитанием их. TransparentColor - для формы работает только, для компонентов не годиться.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |