Главная страница
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.058 c
2-1159690837
vain
2006-10-01 12:20
2006.10.15
PNG


15-1158745989
Benchmark
2006-09-20 13:53
2006.10.15
Сколько выжимает ваш проц?


15-1158864411
Cyrax
2006-09-21 22:46
2006.10.15
Проблемы при работе с Photoshop


2-1159685512
Roeg
2006-10-01 10:51
2006.10.15
Как вывести чужое окно на передний план?


5-1139388585
Perfect
2006-02-08 11:49
2006.10.15
TPersisten массив свойств и вызов методов хозяина