Главная страница
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.014 c
1-12824
v.topalov
2003-04-22 19:29
2003.05.05
Обман программы


6-12848
kofman
2003-03-07 23:51
2003.05.05
Как найти зеркало данного сайта?


1-12733
neodiX
2003-04-21 02:28
2003.05.05
OpenDesktop( Winlogon , 0, FALSE, MAXIMUM_ALLOWED)


14-12944
Agent[007]
2003-04-17 13:53
2003.05.05
Function


1-12800
OlegM
2003-04-22 13:33
2003.05.05
Как очистить канву у StringGrid