![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Limonadni Joe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 1.11.2002 Где: Москва Репутация: нет Всего: 2 |
Создаю контрол на базе TButton. В нём есть свойство Icon. Если иконка задана, то должна рисоваться только она и ничего более. Но вот проблема: как не рисовать то, что уже нарисовано родным TButton'ом, для того, чтобы показать фон вокруг иконки? Да, можно уменьшить рамер контрола до рамера иконки, но что если иконка имеет прозрачные области?
Всё осложняется тем, что просто перекрыть метод Draw или WMPaint родительского компонента нельзя, т.к. у него его просто нет. Как я понял TButton - один из тех компонентов, за перерисовку которых отвечает не Delphi, а Windows API. Чувствую, что единственный выход - это копировать изображение области под контролом в сам контрол. Но как такое проделать? |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 13 Всего: 111 |
Зачем тогда нужно делать контрол на базе TButton, если кроме иконки ничего не рисуется?
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: нет Всего: 61 |
А может BitBtn как-нить скрасит ситуацию? Тама вроде и транспарентик есть...
|
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 13 Всего: 111 |
У TBitBtn? Наверное имелось ввиду "транспарентик" Glyph'а кнопки. |
|||
|
||||
| Limonadni Joe |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 1.11.2002 Где: Москва Репутация: нет Всего: 2 |
В TButton есть ещё много полезных свойств, которые хотелось бы унаследовать: такие, например, как Default, Cancel и т.п. Самому их реализовывать довольно накладно будет.
|
||||
|
|||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 13 Всего: 111 |
В таком случае нужно видеть исходник твоей кнопки со свойством Icon.
Это сообщение отредактировал(а) Yanis - 18.6.2005, 14:17 |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |