Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];

Вниз

Помогите разобраться c WM_LMOUSEDOWN   Найти похожие ветки 

 
MetalFan   (2002-07-23 13:35) [0]

Надо: поймать нажатие мышкой на TAnimate
Делаю:
....
procedure WMLbuttondown(var MSG:TWMLButtonDown); Message WM_LBUTTONDOWN;
.....
Procedure TForm1.WMLbuttondown(var MSG:TWMLButtonDown);
begin
ShowMessage(IntToStr(MSG.XPos)+" "+IntToStr(MSG.YPos));
if (MSG.XPos>Animate1.Left)and(MSG.yPos>Animate1.Top)and
(MSG.XPos<(Animate1.Left+Animate1.width))and
(MSG.yPos<(Animate1.Top+Animate1.Height)) then
begin
..........
end;
inherited;
end;
......
Неработает :(((
Но ошибок не выдает!!!
Уважаемы мастера, может я что-нибудь не так сделал?


 
MetalFan   (2002-07-23 14:05) [1]

понятно, вопрос глупый, но хоть кто-нить может ответить????


 
MBo   (2002-07-23 14:37) [2]

у тебя метод формы, а не Animate.


 
Song   (2002-07-23 14:51) [3]


type MyAnimate=class(TAnimate)
private
Procedure MyAnimateMousePress(Var Msg:TMessage); message WM_LBUTTONDOWN;
end;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Anim:MyAnimate;

implementation

{$R *.dfm}

Procedure MyAnimate.MyAnimateMousePress(Var Msg:TMessage);
Begin
Case Msg.WParam OF
MK_LBUTTON: Anim.Play(1,Anim.FrameCount,Anim.FrameCount);
MK_RBUTTON: Anim.Stop;
else inherited;
End;
End;

procedure TForm1.FormCreate(Sender: TObject);
begin
Anim:=MyAnimate.Create(Self);
With Anim Do
Begin
Parent:=Self;
FileName:="c:\ICQworking.avi";
End;
end;


 
Melamed   (2002-07-23 18:28) [4]

Твой обрабодчик события WM_LBUTTONDOWN будет вызываться только при нажатии левой клавиши мыши.
Если хочешь, чтоб твоя программа реагировала должным образом на нажатие правой клавиши мыши, то обрабатывай событие WM_RBUTTONDOWN.

Подробнее, читай WIN32 SDK

Желаю успеха
Валера


 
Song   (2002-07-23 18:33) [5]

Ну да, пропустил, правильно. :-)
Я его не тестировал же. Просто в форме написал. Смысл не в том. Автору нужно было левую кнопку ;-)


 
MetalFan   (2002-07-24 12:17) [6]

Спасибо ответившим!!!
только мне нужно чуть по-другому:
есть TAnimate, нужно, чтобы при клике на нем
происходило какое-то действие... например появлялось окно "о программе"



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
1-50671
a413
2002-09-04 16:22
2002.09.16
Как вызвать функцию в DLL из EXE?


1-50841
maxim2
2002-09-04 06:06
2002.09.16
Текст из RichEdit вообще можно сохранить в формате ТХТ а не в RT


1-50821
Shrek
2002-09-03 19:33
2002.09.16
WinApi


8-50871
Darts
2002-05-18 16:30
2002.09.16
Быстрый вывод графики


1-50740
Borys
2002-09-02 19:07
2002.09.16
Видимость переменных





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