Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
14-12911
KAA
2003-04-16 18:58
2003.05.05
Более быстрая формулы вычисления квадратного корня


1-12732
Max1111
2003-04-23 10:54
2003.05.05
Досрочный выход


11-12677
Alexei Dragoner
2002-07-19 19:53
2003.05.05
Как быть с Timer ом?


1-12821
AlexKost
2003-04-22 15:38
2003.05.05
Загрузка функции из пакета


14-12862
blackman
2003-04-13 18:46
2003.05.05
---|Ветка была без названия|---




   Наверх