Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> возможность увеличения иконки кнопки при наведение, возможность увеличения иконки кнопки  
V
    Опции темы
s2004
Дата 31.10.2011, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Здравствуйте!
Хочу в программе сделать возможность увеличения иконки кнопки при наведение на её указателя мыши есть где пример кода или может компонент исходник...?
PM MAIL   Вверх
Akella
Дата 31.10.2011, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



используй события мышки у компонент
PM MAIL   Вверх
northener
Дата 31.10.2011, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(s2004 @  31.10.2011,  21:55 Найти цитируемый пост)
Хочу в программе сделать возможность увеличения иконки кнопки при наведение на её указателя мыши

Может вы хотите пример использования "лупы" в Windows?
А зачем? 


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
14SatanA88
Дата 1.11.2011, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



я так понял, топикстартер хочет сделать что-то вроде спецэффекта.

могу порекомендовать бесплатный компонент TEffectButton
PM MAIL ICQ   Вверх
s2004
Дата 1.11.2011, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



14SatanA88 этот TEffectButton на дельфи 2006 никак немогу поставить там же установка в виде пакетов пытаюсь добавить как компонент но неполучилось а так компонентик неплохой

да вот у меня 
кнопки BitBtn

простейшее решение при наведение курсора мыши это 
Код

procedure TForm1.BitBtn1MouseLeave(Sender: TObject);
begin
    BitBtn1.Height:=100;
BitBtn1.Width:=100;
end;


как бы хорошо кнопка увеличивается в размере, но а как что бы она обратно принимала свой первоначальный размер
и ещё в сети 
есть компонент
http://delphiexpert.ru/view_download.php?id=103 

напоминает мак ос панель как мне прикрутить его к кнопке
PM MAIL   Вверх
14SatanA88
Дата 1.11.2011, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(s2004 @  1.11.2011,  19:06 Найти цитируемый пост)
есть компонент


не пользовался
как вариант качать и изучать его исходный код
PM MAIL ICQ   Вверх
s2004
Дата 1.11.2011, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



http://delphiexpert.ru/view_download.php?id=103
 не этот компонент мне в прогу неподойдёт там панель используется а кнопки у меня на кулбаре

PM MAIL   Вверх
de_Nis
Дата 2.11.2011, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старательный
*


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

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



Цитата(s2004 @  1.11.2011,  19:06 Найти цитируемый пост)

как бы хорошо кнопка увеличивается в размере, но а как что бы она обратно принимала свой первоначальный размер


Архангельский А.Я."Программирование в Delphi 7", стр.1106:

"Событие OnMouseEnter наступает, когда курсор мыши входит в область метки. Обработчик события OnMouseEnter пишется, если надо произвести какие-то операции при перемещении курсора мыши над меткой. Например, можно изменить цвет фона или текста метки, а затем вернуть его к обычному цвету, когда курсор покинет область метки и наступит событие QnMouseLeave. Для этого в обработчик события OnMouseEnter всех меток приложения можно вставить оператор

(Sender as TLabel).Font.Color ;= clBlue;

а в обработчик события OnMouseLeave — оператор

(Sender as TLabel) .Font .Color := clBlack;

При перемещении курсора мыши над какой-либо меткой ее текст будет окрашиваться в голубой цвет."

Заменить изменение цвета Label-а изменением размера кнопки - и будет вам счастье.  smile 
--------------------
Несчастлив не тот, у кого ничего нет, а тот, кто ничего не хочет…
PM   Вверх
s2004
Дата 2.11.2011, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



de_Nis большое мерси а то на некоторых форумах предлагали решение как ....одним словом молодец как и следоало код простой и должен быть практически в самой иде . в FAQ я его не нашёл а многим может понадбится Архвнельского я читал но как видно невнимательно а код простой ниже с стандартной кнопкой
Код

procedure TForm1.Button1MouseEnter(Sender: TObject);
begin
 Button1.Height:=100;
Button1.Width:=100;
end;

procedure TForm1.Button1MouseLeave(Sender: TObject);
begin
    Button1.Height:=25;
Button1.Width:=75;
end;





Это сообщение отредактировал(а) s2004 - 2.11.2011, 19:17
PM MAIL   Вверх
dvamaster
Дата 2.11.2011, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



По обработке событий менять глиф у TBitBtn.
Т.е. заготовить пару глифов с большим и уменьшеным изображениями.
В стацинарном состоянии уменьшеное, при наведении меняем на большее (OnMouseEnter), при покидании обратно уменьшеное (OnMouseLeave).

Это сообщение отредактировал(а) dvamaster - 2.11.2011, 19:29


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
s2004
Дата 2.11.2011, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(dvamaster @ 2.11.2011,  19:28)
По обработке событий менять глиф у TBitBtn.
Т.е. заготовить пару глифов с большим и уменьшеным изображениями.
В стацинарном состоянии уменьшеное, при наведении меняем на большее (OnMouseEnter), при покидании обратно уменьшеное (OnMouseLeave).


да в speedbutton в опциях localizable и visual есть два глифа что то подставил для интереса разных размеров но неполучилось если загружаю на 32 то 32 на 16 то 16...
PM MAIL   Вверх
northener
Дата 2.11.2011, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(s2004 @  2.11.2011,  22:52 Найти цитируемый пост)
да в speedbutton в опциях localizable и visual есть два глифа что то подставил

Ну хоть раз прочитайте хоть что-нибудь! Ну что же вы всё время "тычетесь в темноте непонятно на что"?
Киньте на форму ImageList, например. Добавьте в него две картинки. Одна - "кнопка нажата", другая - "кнопка не нажата". И в событиях OnMouseEnter, OnMouseLeave присваивайте свойству кнопки Glyph либо ту, либо другую картинку.
 


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
s2004
Дата 3.11.2011, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

procedure TForm1.SpeedButton4MouseEnter(Sender: TObject);
begin
SpeedButton4.Height:=100;
SpeedButton4.Width:=100;
SpeedButton4.Glyph.LoadFromFile('c:\forward_48.bmp');
end;

procedure TForm1.SpeedButton4MouseLeave(Sender: TObject);
begin
SpeedButton4.Height:=27;
SpeedButton4.Width:=27;
// SpeedButton4.NumGlyphs:=2;
SpeedButton4.Glyph.LoadFromFile('c:\forward_16.bmp');
end;

ну неудобно так всё вроде нормально но прикрутить наверно надо всё таки с imagelist
PM MAIL   Вверх
bems
Дата 3.11.2011, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

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



s2004, вместо файла можно использовать ресурс, тогда не так отвратительно будет

Это сообщение отредактировал(а) bems - 3.11.2011, 19:29


--------------------
Обижено школьников: 8
PM MAIL   Вверх
s2004
Дата 3.11.2011, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



вот этот код загружает битман но кнопка размер увеливает при наведение курсора но сам рисунок значка неувеличивается в отличие от выше привидённого примера
Код

procedure TForm1.SpeedButton3MouseEnter(Sender: TObject);
begin
SpeedButton3.Height:=100;
SpeedButton3.Width:=100;
ImageList2.GetBitmap(1,SpeedButton3.Glyph); (размер 48Х48)
end;

procedure TForm1.SpeedButton3MouseLeave(Sender: TObject);
begin
SpeedButton3.Height:=27;
SpeedButton3.Width:=27;
ImageList2.GetBitmap(0,SpeedButton3.Glyph);  (размер 16Х16)
end;

northener 
почему код не работает

Это сообщение отредактировал(а) s2004 - 3.11.2011, 20:33
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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