|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|
Панель с закругленными углами и цветным контуром01.10.2015, 22:08. Показов 11169. Ответов 33
Метки нет (Все метки)
Хочу немного украсить интерфейс программы панелями типа TPanel с закругленными углами и цветным контуром. Стандартная панель такого функционала предоставить не может. Пробовал что-то придумать с помощью фигур TShape, но во-первых эти фигуры всегда лежат под другими объектами, а во-вторых не понял как можно настроить радиус закругления (наверное никак).
Можно ли как-то простым способом решить мою задачу без использования сторонних компонентов?
0
|
|
| 01.10.2015, 22:08 | |
|
Ответы с готовыми решениями:
33
Фрейм с закругленными углами |
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|||||||||||||
| 03.10.2015, 19:52 [ТС] | |||||||||||||
Добавлено через 1 минуту
Убрал - вроде бы все работает нормально. Но не теряются ли при этом где-то выделенные ресурсы? CodeGuard ничего не ловит.
0
|
|||||||||||||
|
39 / 39 / 11
Регистрация: 05.09.2015
Сообщений: 262
|
|
| 03.10.2015, 19:58 | |
|
Откуда вы взяли функции GDI+, заголовочные файлы? Руками подключили? Тогда при запуске программы GdiplusStartup при завершении пограммы GdiplusShutdown.
Если в модуле - то скорее всего там уже сделано GdiplusStartup и само вызовется GdiplusShutdown когда надо.
0
|
|
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|||||||
| 03.10.2015, 21:11 [ТС] | |||||||
0
|
|||||||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
||
| 03.10.2015, 21:47 [ТС] | ||
|
Вообще в самой программе я могу использовать GDI+, а могу и не использовать. При этом в любом случае хотелось бы, чтобы панель рисовалась с помощью этой графической библиотеки.
0
|
||
|
39 / 39 / 11
Регистрация: 05.09.2015
Сообщений: 262
|
||||||
| 03.10.2015, 22:17 | ||||||
|
У меня в Делфи7 заголовочник под названием GdiPlus.pas и там сделано так:
Всё готово, можно просто использовать функции. Где угодно и когда угодно. Зачем много раз-то? Не нашёл сходу можно ли так вообще делать, но даже если - оно же поест ресурсы. Да и кстати инициализации/освобождения время как бы тратится.
0
|
||||||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|
| 03.10.2015, 22:37 [ТС] | |
|
Ну, я не великий спец, но насколько я понимаю на С++ чтобы использовать gdi+ недостаточно подключить соответствующий заголовочный файл. Для пробы убрал функции активации GDI+ и завершения работы - в дизайн-тайме рисование GDI+ работает, но в ран-тайме выскакивает ошибка.
Добавлено через 2 минуты Хотя взял инициализацию GDI+ перенес в программу, а в файлах компонента удалил - теперь все рисуется и в дизайн- и в ран-тайме.
0
|
|
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|||||||
| 04.10.2015, 11:58 [ТС] | |||||||
0
|
|||||||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|
| 04.10.2015, 12:02 [ТС] | |
|
Вобщем вот какая панелька получилась. Вцелом мне нравится, только есть небольшой графический дефект (утолщение) в месте стыковки дуги и прямой линии из-за чего нет плавности перехода. Не придумал как это победить.
Прикладываю группу проектов, включающую в себя пакет с компонентом и тестовое приложение. Посмотрите, если кому не сложно, на предмет очевидных несуразностей, которые могут выйти боком при массовом применении этих панелей. И есть два вопроса. 1. При изменении моих новых свойств панели они применяются только после того, как я кликну на компонент. Неудобно. 2. Цвет clBtnFace почему-то рисуется черным, а не светло-серым.
0
|
|
|
Супер-модератор
|
|||||||
| 04.10.2015, 12:39 | |||||||
1
|
|||||||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
||
| 04.10.2015, 12:47 [ТС] | ||
Думал может есть более простой способ.
0
|
||
|
39 / 39 / 11
Регистрация: 05.09.2015
Сообщений: 262
|
||
| 04.10.2015, 13:43 | ||
0
|
||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
||
| 04.10.2015, 13:49 [ТС] | ||
0
|
||
| 04.10.2015, 13:49 | |
|
Резиновый блок с закругленными углами Закрашенный прямоугольник с закруглёнными углами Страуструп. Окно с закруглёнными углами
Собственные окна с закругленными углами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 5
anaschu 26.06.2026
ПЛАН РАЗРАБОТКИ математической модели сукцессии микоризных систем
Переход AM → EcM (Endo + ErM) · Шумилов А. С. · ИФХиБПП РАН · Пущино · 2026
. . .
|
сукцессия 4
anaschu 25.06.2026
Более детализированный план разработки
План доработки модели динамики микоризных симбиозов (EcM с гистерезисом)
Цель: Реализовать логику переключения между эрикоидным (ErM) и эктомикоризным. . .
|
сукцессия 3
anaschu 25.06.2026
Примерный план работ по модели
|
сукцессия 2
anaschu 25.06.2026
параметризировочная калибровочная таблица будущей модели
|
|
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал (мат мет мод 29)
anaschu 23.06.2026
Многофункциональное здание:
как одно здание порождает конфликты требований,
которые никто не планировал
Материалы для обсуждения с МГСУ · 2026
Рисунки внутри приложенного ворд файла.
Что за. . .
|
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования?
Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная.
Где разрыв
. . .
|
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно»
Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
|
26. мед мат модель.Какие типы конфликтов функциональных требований можно рассчитать через ДЕС-моделирование (СМО) в AnyLogic?
anaschu 22.06.2026
Что ДЕС/ СМО умеет считать напрямую:
Конфликты за ресурсы (очереди, узкие места). Несколько типов агентов (повара, учителя, рабочие, пациенты) претендуют на один ресурс (лифт, вход, коридор,. . .
|