Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.05;
Скачать: CL | DM;

Вниз

Как сделать анимированную кнопку???   Найти похожие ветки 

 
Yanis ©   (2003-04-22 18:16) [0]

Возник у меня как то вопрос и ни как немогу на него ответ(здравый) найти.
Очень хотелось бы узнать каким образом можно сделать кнопку как в
ICQ(Аське), кнопка называется Main и когда на неё наводишь мышью она начинает проигрывать изображение как мультик.
Может хотя бы компоненту похожую подскажите, если уж проблема совсем нерешаемая.


 
Yanis ©   (2003-04-22 18:53) [1]

Мастера, ау.. вы где?
Молю о помощи.


 
ZmeiGorin ©   (2003-04-22 19:25) [2]

www.torry.net ... или напиши сам.


 
Yanis ©   (2003-04-22 19:33) [3]

Вот в том то и дело не знаю с какой стороны подойти.


 
Intell ©   (2003-04-22 19:35) [4]

Есть один компонент - в него вставляется картинка (спрайтовая), затем по наведению (если укажешь ей) проигрывается анимация (спрайты картинки). Если нужен компонент, то сообщи по мылу:
sergein@nojabrsk.ru


 
Шаман   (2003-04-22 19:37) [5]

А ларчик просто открывался :), используй TAnimatedImage из RX"ов. А анимацию можно в gif файле держать.


 
Yanis ©   (2003-04-22 19:41) [6]

Спосибо шаман за наставление, но я хочу подойти к этому со стороны кода. Как бы тебе объяснить, что бы не легче, а именно так как задумано, но всёравно спасибо.


 
panov ©   (2003-04-22 20:36) [7]

Посмотри пример, дальше сам добъешь...

type
TForm1 = class(TForm)
Timer1: TTimer;
bb: TBitBtn;
Image1: TImage;
Image2: TImage;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
procedure proc(var Msg: TMsg; var Handled: Boolean);
{ Public declarations }
end;

procedure TForm1.proc(var Msg: TMsg; var Handled: Boolean);
var
w: TWinControl;
p: TPoint;
begin
if msg.message=WM_MOUSEMOVE then
begin
p := Mouse.CursorPos;
w := FindVCLWindow(p);
if (Assigned(w)) and (w.Name = "bb") then
Timer1.Enabled := True else Timer1.Enabled := False;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := proc;
Timer1.Interval := 100;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
case bb.tag of
0: bb.Glyph := Image1.Picture.Bitmap;
1: bb.Glyph := Image2.Picture.Bitmap;
end;
bb.Tag := Abs(bb.Tag-1);
end;


 
Yanis ©   (2003-04-22 22:20) [8]

Придется постараться, спасибо.



Страницы: 1 вся ветка

Текущий архив: 2003.05.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
3-12646
Falendysh
2003-04-16 00:00
2003.05.05
Подключение к удаленной БД. Что нужно прописывать в hosts


1-12783
VadimS
2003-04-22 11:24
2003.05.05
Как преобразовать строку в число типа Int64


1-12759
Spartak
2003-04-21 15:24
2003.05.05
Приложение поверх игры но не сворачивая игру !


3-12638
Term
2003-04-15 10:41
2003.05.05
Нужно переделать локальное приложение в файл-серверное


14-12936
slaj
2003-04-18 12:17
2003.05.05
Проблема закрытия доступа на ПК отдельного юзера в Win2000 при вк