Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.01 c
3-12608
Alexander_K
2003-04-14 13:09
2003.05.05
Sybase


11-12683
zetta
2002-07-31 11:13
2003.05.05
modal dialogs


7-12955
ScaliaR
2003-03-05 04:28
2003.05.05
эмуляция нажатия кнопки мыши


3-12631
Avreliy
2003-04-15 21:02
2003.05.05
Отмена Post!


1-12734
Cooper
2003-04-23 21:57
2003.05.05
Координаты указателя мыши в пределах Image





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский