Вниз
Скачать: CL | DM;

Вопрос по сообщениям   Найти похожие ветки 

← →
Dmitry_177   (2006-09-29 16:26) [0]

при использовании VCL сообщения можно так ловить:

procedure WmCopyData(var Message: TMessage); message WM_COPYDATA;
...

procedure TCharLogReceiver.WmCopyData(var Message: TMessage);
begin
...

Message.Result := 1;
end;


Вопрос в том, зачем иногда в конце обработки делают такое присваивание Message.Result := 1;? В данном случае с WM_COPYDATA...

А еще как такое присваивание сделать(если нужно) если обрабатвать без использования VCL, на чистом API?

function WindowProc(Window: HWnd; Message, WParam: Word; LParam: LongInt): LongInt; stdcall;
begin
case Message of
 WM_COPYDATA: begin
                        ....
                        как здесь сделать такое присваивание?
                        end;
end;


← →
Сергей М. ©   (2006-09-29 16:39) [1]


> как здесь сделать такое присваивание?


Result := 1;


← →
Dmitry_177   (2006-09-29 17:29) [2]

А для чего это присваивание вообще надо? Объясните пожалуйста...


← →
Leonid Troyanovsky ©   (2006-09-30 11:39) [3]


> Dmitry_177   (29.09.06 17:29) [2]

> А для чего это присваивание вообще надо? Объясните пожалуйста.


If the receiving application processes this message, it should return TRUE; otherwise, it should return FALSE

--
Regards, LVT.


← →
Dmitry_177   (2006-10-01 17:04) [4]

Подскажите тогда еще мне вот что:
Result := DefWindowProc (Window, Message, WParam, LParam);  --> Зачем мы делаем это присваивание, в конце, если Result равен 0 (изначально) или 1?

function WindowProc(Window: HWnd; Message, WParam: Word; LParam: LongInt): LongInt; stdcall;
begin
Result := 0;
 case Message of
   WM_COPYDATA: begin
   ....
   Result := 1;
 end;

Result := DefWindowProc (Window, Message, WParam, LParam);
end;


← →
Dmitry_177   (2006-10-01 17:50) [5]

Может так надо делать?

function WindowProc(Window: HWnd; Message, WParam: Word; LParam: LongInt): LongInt; stdcall;
begin
Result := 0;
case Message of
  WM_COPYDATA: begin
  ....
  Result := 1;
  end
else
  Result := DefWindowProc (Window, Message, WParam, LParam);
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.033 c
3-1155717915
GrBob
2006-08-16 12:45
2006.10.15
FieldName в DBexpress и ADO


1-1156821234
trackbar
2006-08-29 07:13
2006.10.15
Smooth ScrollBox :)


15-1158849426
Колдун
2006-09-21 18:37
2006.10.15
Задача по теории вероятности


2-1159178234
Footballer
2006-09-25 13:57
2006.10.15
Как програмно записать файлы на диск?


15-1158863422
гость23
2006-09-21 22:30
2006.10.15
Реал-тайм звук с микрофона в динамиках ноутбука




   Наверх