Euvene Опубликовано 3 августа, 2016 Поделиться Опубликовано 3 августа, 2016 Добрый день! Может кто знает, как в rad studio seattle создать собственный компонент "кнопка с картинкой" или имеет уже готовый компонент? Цитата Ссылка на комментарий
0 POV Опубликовано 3 августа, 2016 Поделиться Опубликовано 3 августа, 2016 есть.. кнопка называется. Vitaldj 1 Цитата Ссылка на комментарий
0 Rusland Опубликовано 3 августа, 2016 Поделиться Опубликовано 3 августа, 2016 К обычному Button можно подсоединить ImageList с картинками и указать ему ImageIndex. IconButton.zip Vitaldj и Kitty 2 Цитата Ссылка на комментарий
0 BEE-KEE-PER Опубликовано 6 марта, 2017 Поделиться Опубликовано 6 марта, 2017 Как сделать чтоб картинка была во всю кнопку??? Цитата Ссылка на комментарий
0 ENERGY Опубликовано 6 марта, 2017 Поделиться Опубликовано 6 марта, 2017 (изменено) Чтобы картинка была на всю кнопку - вообще картинки должны быть фиксированного размера, когда одна больше, другая меньше - это смотрится криво. Но если очень нужно тогда так (это для Firemonkey, не для VCL): Бросайте рядом TGlyph - затем в инспекторе объектов мышкой перемещаете его на кнопку. В результате TGlyph должен быть внутри кнопки (TSpeedButton или TButton). Далее настраиваете TGlyph - указываете там ImageList, ImageIndex (можно картинку и без ImageList указать отдельно, там есть соответствующее поле), далее свойство Stretch и Align = Client. Изменено 6 марта, 2017 пользователем ENRGY rareMax и Rusland 2 Цитата Ссылка на комментарий
0 BEE-KEE-PER Опубликовано 14 марта, 2017 Поделиться Опубликовано 14 марта, 2017 В 06.03.2017 в 21:07, ENRGY сказал: Чтобы картинка была на всю кнопку - вообще картинки должны быть фиксированного размера, когда одна больше, другая меньше - это смотрится криво. Но если очень нужно тогда так (это для Firemonkey, не для VCL): Бросайте рядом TGlyph - затем в инспекторе объектов мышкой перемещаете его на кнопку. В результате TGlyph должен быть внутри кнопки (TSpeedButton или TButton). Далее настраиваете TGlyph - указываете там ImageList, ImageIndex (можно картинку и без ImageList указать отдельно, там есть соответствующее поле), далее свойство Stretch и Align = Client. ты сам то пробовал так сделать???????????? TGlyph картинку можно только из ImageList загрузить Цитата Ссылка на комментарий
0 ENERGY Опубликовано 14 марта, 2017 Поделиться Опубликовано 14 марта, 2017 BEE-KEE-PER Вместо TGlyph можно использовать TImage, там точно можно указать картинку напрямую, без TimageList Цитата Ссылка на комментарий
0 BEE-KEE-PER Опубликовано 14 марта, 2017 Поделиться Опубликовано 14 марта, 2017 39 минут назад, ENRGY сказал: BEE-KEE-PER Вместо TGlyph можно использовать TImage, там точно можно указать картинку напрямую, без TimageList есть полноценный пример кнопки с картинкой где картинка полность на всю кнопку???.... Цитата Ссылка на комментарий
0 #WAMACO Опубликовано 14 марта, 2017 Поделиться Опубликовано 14 марта, 2017 В 06.03.2017 в 11:33, BEE-KEE-PER сказал: Как сделать чтоб картинка была во всю кнопку??? изменить стиль кнопки Цитата Ссылка на комментарий
0 BEE-KEE-PER Опубликовано 14 марта, 2017 Поделиться Опубликовано 14 марта, 2017 3 минуты назад, wamaco сказал: изменить стиль кнопки подробней можно......... Цитата Ссылка на комментарий
0 ENERGY Опубликовано 14 марта, 2017 Поделиться Опубликовано 14 марта, 2017 (изменено) BEE-KEE-PER Что у Вас конкретно не получается? Способ описан выше, чтобы напрямую указать файл с изображением, - вместо TGlyph используйте TImage , Изменено 14 марта, 2017 пользователем ENRGY Цитата Ссылка на комментарий
0 Euvene Опубликовано 24 марта, 2017 Автор Поделиться Опубликовано 24 марта, 2017 RoschinSpb, Brovin Yaroslav и valdemar 3 Цитата Ссылка на комментарий
0 GASCHE Опубликовано 24 марта, 2017 Поделиться Опубликовано 24 марта, 2017 (изменено) В 14.03.2017 в 14:58, BEE-KEE-PER сказал: есть полноценный пример кнопки с картинкой где картинка полность на всю кнопку???.... Такое впечатление что вам тут кто-то должен. Есть стиль Спойлер object TLayout StyleName = 'CornerButtonCircleStyle12' Position.X = 564.000000000000000000 Position.Y = 387.000000000000000000 Size.Width = 32.000000000000000000 Size.Height = 32.000000000000000000 Size.PlatformDefault = False Visible = False TabOrder = 108 object TGlowEffect Softness = 0.200000002980232200 GlowColor = xFF6BD2EE Opacity = 1.000000000000000000 Trigger = 'IsFocused=true' Enabled = False end object TCircle StyleName = 'background' Align = Contents Fill.Kind = Gradient Fill.Gradient.Points = < item Color = x9644ADE0 Offset = 0.000000000000000000 end item Color = x324AA0CA Offset = 0.449999988079071000 end item Color = x324AA0CA Offset = 0.550000011920929000 end item Color = x9644ADE0 Offset = 1.000000000000000000 end> Locked = True HitTest = False Size.Width = 32.000000000000000000 Size.Height = 32.000000000000000000 Size.PlatformDefault = False Stroke.Color = xFF3ABEDA object TInnerGlowEffect Softness = 0.400000005960464500 GlowColor = xFF6BD2EE Opacity = 0.899999976158142100 Trigger = 'IsPressed=true' Enabled = False end end object TImage StyleName = 'imagestyle' MultiResBitmap = < item end> Align = Center Locked = True HitTest = False Size.Width = 32.000000000000000000 Size.Height = 32.000000000000000000 Size.PlatformDefault = False end end Изменено 24 марта, 2017 пользователем GASCHE Цитата Ссылка на комментарий
0 Антон Епифанов Опубликовано 26 декабря, 2017 Поделиться Опубликовано 26 декабря, 2017 Сделал описанное выше. В Дизайнере картинка во всю кнопку, а в телефоне сбоку небольшая. Подскажите пожалуйста, какие настройки надо выставить, чтобы кнопка на телефоне выглядела так же как в дизайнере на компьютере. Цитата Ссылка на комментарий
0 Антон Епифанов Опубликовано 26 декабря, 2017 Поделиться Опубликовано 26 декабря, 2017 Вернее во время запуска приложения на телефоне, в дизайнере картинка тоже смещается в левый угол и становится маленькой, после закрытия приложения картинка остаётся в левом угле. Если зайти в editcustomstyle и заново применить стиль, в дизайнере все становится как надо до первого запуска. Цитата Ссылка на комментарий
0 POV Опубликовано 26 декабря, 2017 Поделиться Опубликовано 26 декабря, 2017 (изменено) Если совсем не хочется писать компонент, но и не требуются триггеры для эффекта, то TRectangle используй. Его заливка битмамом может масштабироваться во весь контрол и при этом в хорошем качестве. А вообще бери за основу компонент TButton (TSpeedButton), делай ему свойство содержащее картинку - и перерисовывай в OnPaint на канву контрола. Тут тебе и триггеры сохранятся, и прозрачность картинки можешь использовать (в DrawBitmap) и всё такое. Изменено 26 декабря, 2017 пользователем POV Цитата Ссылка на комментарий
0 ENERGY Опубликовано 26 декабря, 2017 Поделиться Опубликовано 26 декабря, 2017 2 часа назад, Антон Епифанов сказал: Поставьте картинке Align = Client . #WAMACO 1 Цитата Ссылка на комментарий
0 Антон Епифанов Опубликовано 27 декабря, 2017 Поделиться Опубликовано 27 декабря, 2017 Проблема решилась в первом приближении. Кнопка была на фрейме. Я пытался задать стиль в дизайнере. А фрейм кидал на форму рантайм. Оказывается, так не прокатит. Надо кинуть фрейм в дизайнере на форму и уже на форме менять стили у кнопок в фрейме. Как делать, чтобы стили из кнопок фрейма сохранялись при создании фрейма динамически, пока не понятно. Цитата Ссылка на комментарий
0 Grihan Опубликовано 4 января, 2022 Поделиться Опубликовано 4 января, 2022 В 24.03.2017 в 21:19, GASCHE сказал: Такое впечатление что вам тут кто-то должен. Есть стиль Показать контент object TLayout StyleName = 'CornerButtonCircleStyle12' Position.X = 564.000000000000000000 Position.Y = 387.000000000000000000 Size.Width = 32.000000000000000000 Size.Height = 32.000000000000000000 Size.PlatformDefault = False Visible = False TabOrder = 108 object TGlowEffect Softness = 0.200000002980232200 GlowColor = xFF6BD2EE Opacity = 1.000000000000000000 Trigger = 'IsFocused=true' Enabled = False end object TCircle StyleName = 'background' Align = Contents Fill.Kind = Gradient Fill.Gradient.Points = < item Color = x9644ADE0 Offset = 0.000000000000000000 end item Color = x324AA0CA Offset = 0.449999988079071000 end item Color = x324AA0CA Offset = 0.550000011920929000 end item Color = x9644ADE0 Offset = 1.000000000000000000 end> Locked = True HitTest = False Size.Width = 32.000000000000000000 Size.Height = 32.000000000000000000 Size.PlatformDefault = False Stroke.Color = xFF3ABEDA object TInnerGlowEffect Softness = 0.400000005960464500 GlowColor = xFF6BD2EE Opacity = 0.899999976158142100 Trigger = 'IsPressed=true' Enabled = False end end object TImage StyleName = 'imagestyle' MultiResBitmap = < item end> Align = Center Locked = True HitTest = False Size.Width = 32.000000000000000000 Size.Height = 32.000000000000000000 Size.PlatformDefault = False end end Дельфа должна была из коробки дать возможность делать примитивные вещи Цитата Ссылка на комментарий
0 krapotkin Опубликовано 4 января, 2022 Поделиться Опубликовано 4 января, 2022 В 27.12.2017 в 12:10, Антон Епифанов сказал: Проблема решилась в первом приближении. Кнопка была на фрейме. Я пытался задать стиль в дизайнере. А фрейм кидал на форму рантайм. Оказывается, так не прокатит. Надо кинуть фрейм в дизайнере на форму и уже на форме менять стили у кнопок в фрейме. Как делать, чтобы стили из кнопок фрейма сохранялись при создании фрейма динамически, пока не понятно. вообще не согласен. у меня везде все на фреймах. прекрасно и со стилями и без стилей, со вложенными картинками работает. как TGlyph так и TImage А вот фреймы кидать в дизайн-тайме- это прямо прицелиться в ногу и ждать когда бахнет... Цитата Ссылка на комментарий
Вопрос
Euvene
Добрый день! Может кто знает, как в rad studio seattle создать собственный компонент "кнопка с картинкой" или имеет уже готовый компонент?
Ссылка на комментарий
19 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.