Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Приделать свойство Flat обычной кнопке Button 
:(
    Опции темы
Нитонисе
Дата 4.4.2013, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Есть кнопки Button, на них можно отображать картинки *.ico, но нет свойства Flat. Есть кнопки SpeedButton, у них есть свойство Flat, но картинки только в формате *.bmp. У меня есть набор иконок для кнопок в формате *.ico, если их конвертировать в *.bmp - теряется качество. Поэтому хочу использовать их в родном формате, но и хочу свойство Flat кнопкам. Можно ли как-то прикрутить свойство Flat к Button, или возможность отображения форматов *.ico к SpeedButton?
PM MAIL   Вверх
artsb
Дата 4.4.2013, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Есть такой стиль - BS_FLAT.
Вот ещё интересное решение.
Ну и ничего не мешает изобрести свой велосипед smile


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Нитонисе
Дата 4.4.2013, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Тулбар с одной кнопкой это интересно smile А как использовать свойство BS_FLAT?
PM MAIL   Вверх
artsb
Дата 4.4.2013, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Цитата(Нитонисе @  4.4.2013,  23:01 Найти цитируемый пост)
А как использовать свойство BS_FLAT? 

SetWindowLong() + GWL_STYLE.
Например, в конструкторе формы:
Код

SetWindowLong( Button1->Handle, GWL_STYLE, GetWindowLong( Button1->Handle, GWL_STYLE ) | BS_FLAT );



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
_Dimon_
Дата 6.4.2013, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 25.6.2007
Где: Украина

Репутация: 1
Всего: 1



Нитонисе, а в каком билдере работаешь? 

Если > 2009 то можно использовать *.png (думаю при конвертации качество картинки не потеряешь)
 
И TImageList никто не отменял, он поддерживает *.ico, а к TSpeedButton можно прикрутить TImageList
PM MAIL   Вверх
Нитонисе
Дата 6.4.2013, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



artsb, ваш код задания стиля кнопок BS_FLAT не срабатывает.


Цитата(_Dimon_ @  6.4.2013,  00:45 Найти цитируемый пост)
Нитонисе, а в каком билдере работаешь? 
У меня Builder XE, но SpeedButton в свойстве Glyph хочет изображение с расширением *.bmp. И TImageList к этим кнопкам не прикручивается. По крайней мере стандартными средствами. 

PM MAIL   Вверх
Avazart
Дата 6.4.2013, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 6.4.2013

Репутация: нет
Всего: нет



Код

Button1->Style= bsCommandLink;

Не подойдет ?
PM MAIL   Вверх
Нитонисе
Дата 7.4.2013, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(Avazart @  6.4.2013,  23:13 Найти цитируемый пост)
Не подойдет ?

Хм, может быть и подойдет. Что-то я раньше не видел, что у кнопок есть стиль. Есть правда один недостаток - положение картинки фиксировано, всегда слева. Но впринципе можно ширину кнопки такую подобрать, чтобы картинка находилась посередине.

Уж коль пошла речь о стилях кнопок, то для чего нужен стиль bsSplitButton? Стрелочка на кнопке появляется, как будто что-то раскрываться должно типа комбобокса, но ничего такого нет...

И еще один вопрос попутно - зачем у кнопок свойство Font? Пытался изменить цвет шрифта - не меняется.
PM MAIL   Вверх
Avazart
Дата 7.4.2013, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 6.4.2013

Репутация: нет
Всего: нет



Выравнивание изображение вроде тоже задается, и там можно еще манипулировать свойством Margins.

bsSplitButton для прикрутки PopupMenu.

Цитата(Нитонисе @  7.4.2013,  00:18 Найти цитируемый пост)
И еще один вопрос попутно - зачем у кнопок свойство Font? Пытался изменить цвет шрифта - не меняется. 

Эт не знаю вероятно наследие ...
PM MAIL   Вверх
_Dimon_
Дата 7.4.2013, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 25.6.2007
Где: Украина

Репутация: 1
Всего: 1



Цитата(Нитонисе @  6.4.2013,  22:37 Найти цитируемый пост)
У меня Builder XE, но SpeedButton в свойстве Glyph хочет изображение с расширением *.bmp. И TImageList к этим кнопкам не прикручивается. По крайней мере стандартными средствами. 


Действительно, просто перепутал с альфовскими TsSpeedButton, там можно.
PM MAIL   Вверх
artsb
Дата 7.4.2013, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Цитата(Нитонисе @  7.4.2013,  00:18 Найти цитируемый пост)
И еще один вопрос попутно - зачем у кнопок свойство Font? Пытался изменить цвет шрифта - не меняется. 

Кривизна реализации в Билдере. Плюс, если включены стили, то используется шрифт, которые указан в стиле, ЕМНИП. Попробуйте поменять шрифт средствами WinAPI.

На счёт плоской кнопки: почему бы просто не воспользоваться TImage?


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Нитонисе
Дата 7.4.2013, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(artsb @  7.4.2013,  14:41 Найти цитируемый пост)
На счёт плоской кнопки: почему бы просто не воспользоваться TImage?

Так надо программировать поведение как у кнопки со свойством Flat. Вообще я все же использовал конвертированные картинки *.bmp и SpeedButton. Впринципе сойдет.


Цитата(Avazart @  7.4.2013,  00:47 Найти цитируемый пост)
Выравнивание изображение вроде тоже задается, и там можно еще манипулировать свойством Margins.

Выравнивание задается для стиля bsPushButton. И свойство Margin тоже работает только с этим стилем.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1406 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.