Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 14.02.2015, 19:57   #1
fn12gl34
Заблокирован
 
Регистрация: 01.01.2014
Сообщений: 13
Репутация: 10
По умолчанию Анимирование кнопки

Здравствуйте. Прошу вашей помощи. Имеется рисунок (битмап). Нужно при наведении на него курсора менять изображение, и по нажатию соответственно. В общем, типичная "игровая" кнопка. Полазил по форумам, но так и не нашел внятного объекта. Прошу вас помочь мне, и написать маленький кусочек кода, где изображение pic1 будет меняться на pic2 по наведению на него мышью.
Заранее благодарен
fn12gl34 вне форума   Ответить с цитированием
Старый 14.02.2015, 20:03   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

Отредактировал пост.
Изображения откуда берутся?
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 14.02.2015, 20:09   #3
fn12gl34
Заблокирован
 
Регистрация: 01.01.2014
Сообщений: 13
Репутация: 10
По умолчанию

А где я в своем накосячил?
Из папки, типо pic1.loadfromfile(file)
fn12gl34 вне форума   Ответить с цитированием
Старый 14.02.2015, 20:15   #4
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

Цитата:
где я в своем накосячил?
Тогда попробуй так:
Код:

procedure TForm1.Image1MouseEnter(Sender: TObject);
begin
  Image1.Picture.Bitmap.LoadFromFile('d:\(32).jpg');
end;

procedure TForm1.Image1MouseLeave(Sender: TObject);
begin
    Image1.Picture.Bitmap.LoadFromFile('d:\1270446831_6301331xei.jpg');

end;

__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 14.02.2015, 20:18   #5
fn12gl34
Заблокирован
 
Регистрация: 01.01.2014
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Тогда попробуй так:
Код:

procedure TForm1.Image1MouseEnter(Sender: TObject);
begin
  Image1.Picture.Bitmap.LoadFromFile('d:\(32).jpg');
end;

procedure TForm1.Image1MouseLeave(Sender: TObject);
begin
    Image1.Picture.Bitmap.LoadFromFile('d:\1270446831_6301331xei.jpg');

end;


Я бы так и сделал, но изображение выводится не в TImage, а рисуется на форме canvas.draw
fn12gl34 вне форума   Ответить с цитированием
Старый 14.02.2015, 20:28   #6
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,600
Репутация: 6210
По умолчанию

OnMouseMove и OnMouseDown формы
В первой фиксировать вход/выход курсора в эту область формы, во второй клик на ней
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 14.02.2015, 20:31   #7
fn12gl34
Заблокирован
 
Регистрация: 01.01.2014
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
OnMouseMove и OnMouseDown формы
В первой фиксировать вход/выход курсора в эту область формы, во второй клик на ней
А как определить область битмапа? Вручную считать через длину\высоту битмапа, позицию верхней левой точки и тд?
fn12gl34 вне форума   Ответить с цитированием
Старый 14.02.2015, 20:36   #8
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,600
Репутация: 6210
По умолчанию

У этих событий есть координаты мыши, не помню точно, кажись относительно экрана. Тогда их нужно привести к координатам относительно формы методом ScreenToClient. И есть координаты и размеры области. Вот и считай, не вручную конечно, а кодом в обработчиках событий
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 14.02.2015, 20:40   #9
fn12gl34
Заблокирован
 
Регистрация: 01.01.2014
Сообщений: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
У этих событий есть координаты мыши, не помню точно, кажись относительно экрана. Тогда их нужно привести к координатам относительно формы методом ScreenToClient. И есть координаты и размеры области. Вот и считай, не вручную конечно, а кодом в обработчиках событий
Эти координаты относительно формы вроде. Ну я и имел ввиду кодом. Просто думал, есть вариант проще.
fn12gl34 вне форума   Ответить с цитированием
Старый 14.02.2015, 20:44   #10
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,600
Репутация: 6210
По умолчанию

Цитата:
Просто думал, есть вариант проще.
Типа старика Хоттабыча в процессоре? Все и сводится в программах в конечном счете к сложению и сравнению
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимирование стрелки... kentlm Мультимедиа в Delphi 2 14.05.2009 02:17
Наглядное анимирование работы программы. Geddar Помощь студентам 9 03.05.2009 06:24
UCOZ: Кнопки кнопки на изображении ReDuX HTML и CSS 19 25.04.2008 02:39
триггерные кнопки и кнопки переключатели в DELPHI MARGO Помощь студентам 3 12.11.2007 18:35


12:02.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru