Форум: "Основная";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];
ВнизКак сделать анимированную кнопку??? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c