Главная страница
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.054 c
15-1156321969
_RusLAN
2006-08-23 12:32
2006.09.17
Help&Manual. Руские буквы в PDF


3-1152870911
syte_ser78
2006-07-14 13:55
2006.09.17
Колво видимых столбцов ДБГрида


8-1141647509
race1
2006-03-06 15:18
2006.09.17
Кусок Wav-файла


2-1156899612
Gremlin
2006-08-30 05:00
2006.09.17
Ассоциация с уже зарегистрированным расширением


3-1153126523
MN
2006-07-17 12:55
2006.09.17
Извлечение дня, месяца и года из даты