Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2010, 10:15   #1
qwerty55
Пользователь
 
Регистрация: 22.02.2010
Сообщений: 60
Счастье Кнопка из картинок

Я сделал 3 картинки (обычное состояние, при наведении и нажатии). Прописал вот так:

procedure TForm1.Image1Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile('3.png' ); //эта картинка не срабатывает
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image1.Picture.LoadFromFile('2.png' );
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image1.Picture.LoadFromFile('1.png' );
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Picture.LoadFromFile('1.png' );
end;

при движении курсора мыши идет постоянное мерцание картинки
не подскажете как сделать чтобы все было гладко))
qwerty55 вне форума Ответить с цитированием
Старый 28.02.2010, 10:19   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Прекратите извращаться над изображениями! При создании формы загрузите их в TBitMap и рисуйте его.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 28.02.2010, 10:24   #3
qwerty55
Пользователь
 
Регистрация: 22.02.2010
Сообщений: 60
По умолчанию

а поподробнее можно...?
qwerty55 вне форума Ответить с цитированием
Старый 28.02.2010, 10:26   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Поиск по форуму никто не отменял.

Код:
Var
Bit:TBitMap;
Begin
Bit:=TBitMap.Create;
Bit.LoadFromFile(bla-bla-bla);
Image1.Canvas.Draw(0,0,Bit);

...
TForm1.OnDestroy:
Bit.Free;
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 28.02.2010, 10:29   #5
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Ваша картинка и не будет видна, т.к. при нажатии на неё сразу происходит событие onmousemove. Так что вместо onclick используйте onmousedown.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 28.02.2010, 10:34   #6
qwerty55
Пользователь
 
Регистрация: 22.02.2010
Сообщений: 60
По умолчанию

#Var
Bit:TBitMap;
Begin
Bit:=TBitMap.Create; -ошибка в этой строке((
Bit.LoadFromFile(bla-bla-bla);
Image1.Canvas.Draw(0,0,Bit);

...
TForm1.OnDestroy:
Bit.Free;
qwerty55 вне форума Ответить с цитированием
Старый 28.02.2010, 13:54   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Только что подробно рассказывал:
http://www.programmersforum.ru/showthread.php?t=85453
mihali4 вне форума Ответить с цитированием
Старый 28.02.2010, 14:17   #8
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
По умолчанию

Можно ловить сообщения от мышки. См. пример.
В тему:
http://programmersforum.ru/showthread.php?t=43567
Спасибо mihali4
Вложения
Тип файла: rar sample.rar (5.0 Кб, 22 просмотров)
[Ferox]
postal2 вне форума Ответить с цитированием
Старый 17.03.2010, 00:01   #9
bazanin
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 22
По умолчанию

Var
Prpage:integer;

procedure TStartPage.lang2Click(Sender: TObject);
begin
Prpage:=7;
lang2.Picture.LoadFromFile('Picture \United-Kingdom1.png');
TimerDown.Enabled:=true;
end;//lang2-картинка

procedure TStartPage.TimerDownTimer(Sender: TObject);
begin
...
if Prpage=7 then
begin
lang2.Picture.LoadFromFile('Picture \United-Kingdom.png');
end;
...
TimerDown.Enabled:=false;
TimerUp.Enabled:=True;

end;

по TimerUp выполняем действие) просто и красиво
Ну а красоту сам наведешь) мигать не должно(у меня небыло проблемы) только с наведением мыши не помогу... пальцевый интерфейс

Последний раз редактировалось bazanin; 17.03.2010 в 00:07.
bazanin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убегающая кнопка... PIKA4Y Microsoft Office Excel 1 02.02.2010 15:43
кнопка Windows One.Love Общие вопросы Delphi 5 12.09.2008 14:56
Вогнутая кнопка John_chek Общие вопросы Delphi 5 20.11.2007 14:21
Кнопка Пуск vitalik007 Win Api 9 05.09.2007 08:20