Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.061 c
2-1159174243
KyRo
2006-09-25 12:50
2006.10.15
Как сделать прозрачным лейбл


2-1159273579
Alex_C
2006-09-26 16:26
2006.10.15
Как получить canvas элемента?


2-1159712950
pathfinder
2006-10-01 18:29
2006.10.15
Использование Halt..


15-1158737267
Ega23
2006-09-20 11:27
2006.10.15
С Днём рождения! 20 сентября


2-1159528840
RebroFF
2006-09-29 15:20
2006.10.15
Корректное отображение кириллицы