Главная страница
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.065 c
11-1130388459
Trubis
2005-10-27 08:47
2006.09.17
Ещё вопросы (надеюсь последние) по ListView


2-1157091092
yel
2006-09-01 10:11
2006.09.17
Передать массив в подпрограмму


15-1156740957
Rouse_
2006-08-28 08:55
2006.09.17
Петруха с ДР Тебя !!!


3-1152509382
Delphi basic
2006-07-10 09:29
2006.09.17
Проблемы с FIBPlus


2-1156433689
иван8511
2006-08-24 19:34
2006.09.17
Работа с датой