Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TButton+Glyph [D6, Win95/98, WinXP]


den303 ©   (2004-12-30 14:42:00) 

Здравствуйте! У меня проблема: как вывести Glyph на TButton'е? TBitBtn и TSpeedButton не подходят из-за не"лунного" интерфейса в ХР. Нигде, к сожалению, не нашёл готового кода, а нужно ОЧЕНЬ срочно, разбираться просто нет времени, поэтому, будьте добры, подскажите! Может, наследоваться от TWinControl? Или от TButton? А без наследования варианты есть?
Заранее спасибо, с уважением, den303.


Den303   (2005-01-08 02:27:00) [1]

Проект серьёзный, наверное попробую UxTheme.pas и ручками. Правда на работу только 11-го, так что буду делать позже :o)
За TThemeManager спасибо, дома попользую, а на работе за новый компонент и увеличение дистрибутива спасибо не скажут :o(

Ветка закрыта. Всем большое спасибо!


Gero   (2005-01-07 12:30:00) [2]

ThemeManager, конечно использовать можно, но это:

Новые глюки
Новые тормоза
~100кб к размеру exe

Если все это не имеет значения, то действительно, ThemeManager то, что нужно.
Если же проект серьезный, то лучше использовать UxTheme.pas и все рисовать самому.

TThemeManager можно взять здесь:
http://www.google.com/search?q=TThemeManager


Экспериментатор   (2005-01-07 12:17:00) [3]

Лучше используй ThemeManager
это самый простой путь.
поищи например на torry


den303   (2005-01-06 23:40:00) [4]

Простите, что долго не отвечал - Новый год, времени не было ;o)

2 Bork
"лунный" читай как родной интерфейс WinXP, Luna назывемый.

2 ламер
А TThemeManager где найти? В D6 нет. Это отдельный компонент?

2 Vit@ly
Заморачиваться с имейджами не хотелось бы ещё больше, чем с наследованием :o) Больно уж несимпатично получается...

2 clickmaker
Ладно, попробую наследоваться по вашему совету, спасибо. Но если есть попроще путь, с радостью выслушаю :o)


Bork   (2004-12-30 18:48:00) [5]


> TBitBtn и TSpeedButton не подходят из-за не"лунного" интерфейса
> в ХР

не "лунного" - это как?


ламер   (2004-12-30 17:17:00) [6]

вариант 1. используй TThemeManager. он устанавливает свои оконные функции для TBitBtn / TSpeedButton, так что они хорошо выглядят под XP.

вариант 2. НЕ используй сообщений BM_SETIMAGE / BM_GETIMAGE (при этом кнопка сразу же примет обычный вид). вместо них в XP добавлены сообщения BCM_SETIMAGELIST / BCM_GETIMAGELIST, которые позволяют задать до пяти иконок на каждую кнопку (для различных состояний - normal, hot, pushed, disabled, focused).


Vit@ly   (2004-12-30 16:25:00) [7]

Если совсем не хочется заморачиваться, положи на button "на свой вкус" любой Image


clickmaker   (2004-12-30 16:13:00) [8]


> А без наследования варианты есть?

проще с наследованием. Тебе всего-то надо переопределить CreateParams и подсунуть стиль BS_BITMAP. Ну и завести свойства, которые будут обертками для BM_SETIMAGE / BM_GETIMAGE


Наверх

Титульная страница Поиск, карта сайта Написать письмо