Главная страница
    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.007 c
3-12649
Kryukov Andrew
2003-04-11 12:01
2003.05.05
ODBC driver + ADOConnection


3-12642
-=Oscar=-
2003-04-15 13:06
2003.05.05
Как создать новую БД в InterBase из Delphi?


3-12648
HighLander
2003-04-15 12:14
2003.05.05
передача имени пользователя и пароля на сервер SQL


3-12647
SiJack
2003-04-16 09:44
2003.05.05
Копирование данных в Access


3-12628
кондратий
2003-04-15 17:59
2003.05.05
TSQLQuery & Next





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский