Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.17;
Скачать: CL | DM;

Вниз

OnMessage   Найти похожие ветки 

 
Redline   (2006-08-06 17:07) [0]

Как быть с Application.OnMessage, если прога типа:
Program

Begin

end.?

если сделать просто процедуру то и присвоить ее к OnMessage компилятор ругается. Или может есть еще какие нибуть способы получать сообщения? (учитавая тип проги)


 
Плохиш ©   (2006-08-06 17:35) [1]

type
 TMyClass = class
 class procedure MyMessage(var Msg: TMsg; var Handled: Boolean);
 end;

implementation

procedure TMyClass.MyMessage(var Msg: TMsg; var Handled: Boolean);
begin
 ShowMessage("Ha-Ha");
 Handled := true;
end;

........

begin
 Application.OnMessage := TMyClass.MyMessage;
end;


 
Eraser ©   (2006-08-06 17:51) [2]

> [0] Redline   (06.08.06 17:07)

а в программе вообще присутствует цикл выборки сообщений?


 
Redline   (2006-08-06 18:17) [3]

Плохиш ©   (06.08.06 17:35) [1]

Выдает ошибку:
[Pascal Error] Project1.dpr(22): E2010 Incompatible types: "TMessageEvent" and "Procedure"

собственно от этого у меня и все проблемы. кстати а где в проге типа Probram Begin end. можно засунуть implementation?


 
Redline   (2006-08-06 18:17) [4]

Eraser ©   (06.08.06 17:51) [2]

Не очень понимаю что это такое


 
Плохиш ©   (2006-08-06 18:39) [5]


> Redline   (06.08.06 18:17) [3]
> Плохиш ©   (06.08.06 17:35) [1]
>
> Выдает ошибку:
> [Pascal Error] Project1.dpr(22): E2010 Incompatible types:
>  "TMessageEvent" and "Procedure"

Думаешь, я слова class procedure просто так написал, для прикола?


 
Плохиш ©   (2006-08-06 18:40) [6]


> кстати а где в проге типа Probram Begin end. можно засунуть
> implementation

Ну убери это слово. Думалка для чего человеку дана?


 
Eraser ©   (2006-08-06 18:54) [7]

> [4] Redline   (06.08.06 18:17)
> Eraser ©   (06.08.06 17:51) [2]
>
> Не очень понимаю что это такое

для начала нужно разобраться что же это такое, советую прочитать двухтомник Тейксейра, Пачеко "Delphi 5. Руководство разработчика". Найти его можно тут http://www.podgoretsky.com/ddp.html


 
Шпиён   (2006-08-06 18:56) [8]


> Redline   (06.08.06 18:17) [4]
> Eraser ©   (06.08.06 17:51) [2]
>
> Не очень понимаю что это такое

Пример:

program Hot1;
uses
 windows,messages;
var
   msg:TMsg;

begin
   if RegisterHotKey(0,1, MOD_ALT+MOD_CONTROL,
       $5A            // virtual-key code  "Z"
       ) then
//Цикл выборки сообщений
       while(GetMessage(Msg,0,0,0)) do
       begin
           TranslateMessage(Msg);
           if Msg.message = WM_HOTKEY then
           if Windows.MessageBox(0,"Ура!","Всплываем...",MB_OKCANCEL+MB_ICONWARNING+MB_SYSTEMMODAL)=IDCANCEL
           then  PostQuitMessage(0);
           DefWindowProc( 0, Msg.Message, Msg.wParam, Msg.lParam ) ;
       end;
end.



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

Текущий архив: 2006.09.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.057 c
15-1156432552
bopmy
2006-08-24 19:15
2006.09.17
Стоимость исходных кодов - правовая защита


2-1156939673
Neket
2006-08-30 16:07
2006.09.17
Qwery


2-1156679934
The_SloN
2006-08-27 15:58
2006.09.17
Есть команда DeleteFile(‘Filename’)


2-1156495297
Чапаев
2006-08-25 12:41
2006.09.17
SizeOf(C++ enum)?


15-1156405666
imbalacedees
2006-08-24 11:47
2006.09.17
MYSQL