Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как при нажати на кнопку из менить её цвет 
:(
    Опции темы
Ярослав
Дата 20.6.2009, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



Подскажите пожалуйста как при  нажатие на кнопку изменить её цвет или при наведение мышки тоже действие
PM MAIL   Вверх
BeKToP
Дата 20.6.2009, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



у кнопки есть события (инспектор обьектов вкладка events), там есть события OnClick и OnMove , нажатие и наведение мышки соответственно, на эти события надо написать что то типа
Код

Button1->Color=clGreen;

хотя нет :( чё то я не знал что у Button нет сво-ва color

Это сообщение отредактировал(а) BeKToP - 20.6.2009, 15:26
PM MAIL WWW ICQ   Вверх
JackyFox
Дата 25.6.2009, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Погуглил тут немного, и оказалось, что MS в принципе не позволяет менять цвет кнопки в API.
Некоторые изворачиваются, создают новый класс на основе TButton с канвой. Вот пример на Дельфи.

Я предлагаю использовать TPanel. При желании её можно сделать похожей на кнопку, не совсем идентично, но довольно схоже.

Надо задать свойство BevelInner при проектировании в bvRaised и написать обработчики для MouseDown и MouseUp, чтобы панель вела себя как кнопка при нажатии.

Код

void __fastcall TForm1::Panel1MouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
    // Какбе кнопка делается вдавленой
    Panel1->BevelInner = bvLowered;
}


Код

void __fastcall TForm1::Panel1MouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
    // Какбе кнопка делается приподнятой
    Panel1->BevelInner = bvRaised;
}


Свойство Color у панели есть. Так что уже его можно ворочать как хочется методами Click, MouseEnter и MouseLeave
--------------------
У вас менее 250 сообщений, ссылки отключены
PM   Вверх
DonPager
Дата 25.6.2009, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Колдырь
**


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

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



Ещё как вариант:

у стандартных батонов (CodeGear) есть такое свойство как HotImagesIndex. привязывай к кнопе ImageList и играйся с этим св-вом по нужным событиям


--------------------
кодер + лодырь = колдырь
PM MAIL ICQ Skype GTalk   Вверх
Ярослав
Дата 25.6.2009, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



Спасибо,всё работает
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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