Скруглённый TEdit
Модератор: Модераторы
Я почему спрашиваю. Меня очень не устраивает нынешний лазаревский TPаgeControl, особенно отрисовка под винду заголовков вкладок в нижнем положении. Была мысль попробовать отнаследоваться и делать свой с кошерной отрисовкой.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Vadim, там подгружаемый фон. Загружаешь картинку, выставляешь удобный размер окна и перезагружаешь приложение.
Себе можешь и белочек с бурундуками сделать.
Добавлено спустя 6 минут 4 секунды:
zoltanleo, гемора много. Не, если ты доберешься до исходных компонент-ярлычков и пр... то это достаточно интересный вариант.Сама отрисовка достаточно проста, если понять принцип.
Себе можешь и белочек с бурундуками сделать.
Добавлено спустя 6 минут 4 секунды:
zoltanleo, гемора много. Не, если ты доберешься до исходных компонент-ярлычков и пр... то это достаточно интересный вариант.Сама отрисовка достаточно проста, если понять принцип.
Вообще не вижу никаких проблем.
Поместил на форму TBGRAShape. Поставил нужный радиус скругления.
На шейп положил Tedit, убрал рамку и привязал к краям шейпа.
Всё. Шейпом меняю размер Edit`а. За шейп таскаю эту группу куда надо или привязываю к нужному месту.

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

- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
sign, А если челу влом ставить лишний пакет и нагромождать компоненты из-за приятных углов? Плюс, шейп увеличивает, зрительно, саму строку. А если тебе захочется вдруг сделать круглыми углы у кнопок? Картинок? У самого окна? Окно-то шейпом не окружишь?
Кстати, в последнее время предпочитаю поменьше использовать всякие компоненты-контейнеры, так как не всегда понятно где они запоганят вид при смене шрифта. Все никак не решусь переписать программу чтобы уменьшить количество всякого хлама в ней.
Кстати, в последнее время предпочитаю поменьше использовать всякие компоненты-контейнеры, так как не всегда понятно где они запоганят вид при смене шрифта. Все никак не решусь переписать программу чтобы уменьшить количество всякого хлама в ней.
sign писал(а):Поместил на форму TBGRAShape.
Ну, да... И вес приложения, при этом, увеличился в 10 раз...
sign писал(а):Поместил на форму TBGRAShape
Интересно решение. Но для написания компонента не подойдёт, особенно для несимметричных полигонов
Лекс Айрин писал(а):sign, А если челу влом ставить лишний пакет и нагромождать компоненты из-за приятных углов? Плюс, шейп увеличивает, зрительно, саму строку.
Делаем верхний и нижний отступы = 1.
Вот пример - стандартные размеры:

Лекс Айрин писал(а): А если тебе захочется вдруг сделать круглыми углы у кнопок? Картинок? У самого окна? Окно-то шейпом не окружишь?
http://dropdoc.ru/doc/344285/bgrabitmap---free-pascal-wiki---lazarus
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
sign, да я уже и не то сделал без всяких дополнительных модулей. Причем, имхо, даже легче чем с доп компонентами. Единственный минус, но это уже явно системный, немного неправильно позиционируется форма обрезки для всего окна, но это не критично.
Собственно я говорил не о возможности как таковой, а о самом процессе. В твоем случае надо будет окружить каждый компонент шейпом (кстати, почему именно TBGRAShape, чем тебе не угодил стандартный?), установить для него форму, мне же просто требуется запустить одну процедуру на каждый компонент.
Про размер я и не говорю. Итак программа расплывается как тесто на дрожжах((( даже скомпиленный пример для этой темы весит чуть больше 20 мегабайт, после подчистки хвостов.
Собственно я говорил не о возможности как таковой, а о самом процессе. В твоем случае надо будет окружить каждый компонент шейпом (кстати, почему именно TBGRAShape, чем тебе не угодил стандартный?), установить для него форму, мне же просто требуется запустить одну процедуру на каждый компонент.
Про размер я и не говорю. Итак программа расплывается как тесто на дрожжах((( даже скомпиленный пример для этой темы весит чуть больше 20 мегабайт, после подчистки хвостов.
Лекс Айрин писал(а):В твоем случае надо будет окружить каждый компонент шейпом (кстати, почему именно TBGRAShape, чем тебе не угодил стандартный?), установить для него форму, мне же просто требуется запустить одну процедуру на каждый компонент.
Я использую BGRA компоненты, потому что там значительно больше возможностей.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
sign, а может ты просто не знаешь возможностей стандартных библиотек?
Да и всегда ли они нужны?
Да и всегда ли они нужны?
Я ещё TVirtualStringTree широко использую. Шикарный компонент.
Для показа справочных данных - THtmlViewer.
Для работы с электронными таблицами - uOpenOffice.
Для показа справочных данных - THtmlViewer.
Для работы с электронными таблицами - uOpenOffice.
Я 99% своих компонент отрисовываю с помощью BGRABitmap. Не вижу ничего плохого в том, чтобы приложение выглядело эстетично, а не квадратно)))
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
VirtUX, для этого не обязательно использовать посторонние компоненты. А вот размер, при использовании BGRAxxx увеличивается сильно. Принцип KISS еще никто не отменял)
Лекс Айрин писал(а):VirtUX, для этого не обязательно использовать посторонние компоненты. А вот размер, при использовании BGRAxxx увеличивается сильно. Принцип KISS еще никто не отменял)
На самом деле увеличение там на фигушку.
Даже заморачиваться по этому поводу не стоит.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
sign, все равно не вижу смысла. Не, если компоненты уже подключены, то почему бы и нет, а так ... я вообще хочу по возможности перейти на WinAPI и делаю все чтобы уменьшить размер экзешника.
