Скруглённый TEdit

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Скруглённый TEdit

Сообщение zoltanleo » 23.11.2018 18:59:17

Я почему спрашиваю. Меня очень не устраивает нынешний лазаревский TPаgeControl, особенно отрисовка под винду заголовков вкладок в нижнем положении. Была мысль попробовать отнаследоваться и делать свой с кошерной отрисовкой.
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 246
Зарегистрирован: 17.10.2013 10:55:01

Re: Скруглённый TEdit

Сообщение Лекс Айрин » 23.11.2018 19:01:05

Vadim, там подгружаемый фон. Загружаешь картинку, выставляешь удобный размер окна и перезагружаешь приложение.
Себе можешь и белочек с бурундуками сделать.

Добавлено спустя 6 минут 4 секунды:
zoltanleo, гемора много. Не, если ты доберешься до исходных компонент-ярлычков и пр... то это достаточно интересный вариант.Сама отрисовка достаточно проста, если понять принцип.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4708
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Скруглённый TEdit

Сообщение sign » 24.11.2018 07:51:17

Вообще не вижу никаких проблем.
Поместил на форму TBGRAShape. Поставил нужный радиус скругления.
На шейп положил Tedit, убрал рамку и привязал к краям шейпа.
Всё. Шейпом меняю размер Edit`а. За шейп таскаю эту группу куда надо или привязываю к нужному месту.

Изображение
sign
энтузиаст
 
Сообщения: 995
Зарегистрирован: 30.08.2009 09:20:53

Re: Скруглённый TEdit

Сообщение Лекс Айрин » 24.11.2018 08:12:49

sign, А если челу влом ставить лишний пакет и нагромождать компоненты из-за приятных углов? Плюс, шейп увеличивает, зрительно, саму строку. А если тебе захочется вдруг сделать круглыми углы у кнопок? Картинок? У самого окна? Окно-то шейпом не окружишь?

Кстати, в последнее время предпочитаю поменьше использовать всякие компоненты-контейнеры, так как не всегда понятно где они запоганят вид при смене шрифта. Все никак не решусь переписать программу чтобы уменьшить количество всякого хлама в ней.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4708
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Скруглённый TEdit

Сообщение Vadim » 24.11.2018 08:27:30

sign писал(а):Поместил на форму TBGRAShape.

Ну, да... И вес приложения, при этом, увеличился в 10 раз... :-D
Vadim
долгожитель
 
Сообщения: 3133
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Скруглённый TEdit

Сообщение zoltanleo » 24.11.2018 09:22:05

sign писал(а):Поместил на форму TBGRAShape

Интересно решение. Но для написания компонента не подойдёт, особенно для несимметричных полигонов :(
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 246
Зарегистрирован: 17.10.2013 10:55:01

Re: Скруглённый TEdit

Сообщение sign » 26.11.2018 07:12:15

Лекс Айрин писал(а):sign, А если челу влом ставить лишний пакет и нагромождать компоненты из-за приятных углов? Плюс, шейп увеличивает, зрительно, саму строку.

Делаем верхний и нижний отступы = 1.
Вот пример - стандартные размеры:

Изображение

Лекс Айрин писал(а): А если тебе захочется вдруг сделать круглыми углы у кнопок? Картинок? У самого окна? Окно-то шейпом не окружишь?

http://dropdoc.ru/doc/344285/bgrabitmap---free-pascal-wiki---lazarus
sign
энтузиаст
 
Сообщения: 995
Зарегистрирован: 30.08.2009 09:20:53

Re: Скруглённый TEdit

Сообщение Лекс Айрин » 26.11.2018 08:55:34

sign, да я уже и не то сделал без всяких дополнительных модулей. Причем, имхо, даже легче чем с доп компонентами. Единственный минус, но это уже явно системный, немного неправильно позиционируется форма обрезки для всего окна, но это не критично.

Собственно я говорил не о возможности как таковой, а о самом процессе. В твоем случае надо будет окружить каждый компонент шейпом (кстати, почему именно TBGRAShape, чем тебе не угодил стандартный?), установить для него форму, мне же просто требуется запустить одну процедуру на каждый компонент.
Про размер я и не говорю. Итак программа расплывается как тесто на дрожжах((( даже скомпиленный пример для этой темы весит чуть больше 20 мегабайт, после подчистки хвостов.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4708
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Скруглённый TEdit

Сообщение sign » 27.11.2018 06:46:37

Лекс Айрин писал(а):В твоем случае надо будет окружить каждый компонент шейпом (кстати, почему именно TBGRAShape, чем тебе не угодил стандартный?), установить для него форму, мне же просто требуется запустить одну процедуру на каждый компонент.

Я использую BGRA компоненты, потому что там значительно больше возможностей.
sign
энтузиаст
 
Сообщения: 995
Зарегистрирован: 30.08.2009 09:20:53

Re: Скруглённый TEdit

Сообщение Лекс Айрин » 27.11.2018 07:24:26

sign, а может ты просто не знаешь возможностей стандартных библиотек?
Да и всегда ли они нужны?
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4708
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Скруглённый TEdit

Сообщение sign » 27.11.2018 13:51:02

Я ещё TVirtualStringTree широко использую. Шикарный компонент.
Для показа справочных данных - THtmlViewer.
Для работы с электронными таблицами - uOpenOffice.
sign
энтузиаст
 
Сообщения: 995
Зарегистрирован: 30.08.2009 09:20:53

Re: Скруглённый TEdit

Сообщение VirtUX » 30.11.2018 20:21:34

Я 99% своих компонент отрисовываю с помощью BGRABitmap. Не вижу ничего плохого в том, чтобы приложение выглядело эстетично, а не квадратно)))
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 838
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Скруглённый TEdit

Сообщение Лекс Айрин » 30.11.2018 20:55:49

VirtUX, для этого не обязательно использовать посторонние компоненты. А вот размер, при использовании BGRAxxx увеличивается сильно. Принцип KISS еще никто не отменял)
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4708
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Скруглённый TEdit

Сообщение sign » 01.12.2018 07:40:14

Лекс Айрин писал(а):VirtUX, для этого не обязательно использовать посторонние компоненты. А вот размер, при использовании BGRAxxx увеличивается сильно. Принцип KISS еще никто не отменял)

На самом деле увеличение там на фигушку.
Даже заморачиваться по этому поводу не стоит.
sign
энтузиаст
 
Сообщения: 995
Зарегистрирован: 30.08.2009 09:20:53

Re: Скруглённый TEdit

Сообщение Лекс Айрин » 01.12.2018 08:00:01

sign, все равно не вижу смысла. Не, если компоненты уже подключены, то почему бы и нет, а так ... я вообще хочу по возможности перейти на WinAPI и делаю все чтобы уменьшить размер экзешника.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4708
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 5

Рейтинг@Mail.ru