Qual a Diferença entre esssas Duas Chamadas Da Api.....

Delphi

22/03/2005

Amigos , Ao ´Fuçar´ Na Unit [b:50b6810c56]Controls[/b:50b6810c56] Me Deparei Com Duas Procedures Bem [color=red:50b6810c56]Parecidas:[/color:50b6810c56]

      procedure WMTimeChange(var Message: TMessage); message WM_TIMECHANGE;

    procedure CMTimeChange(var Message: TMessage); message CM_TIMECHANGE; 


Alguem sabe , qual a diferença na prática dessas Duas Procedures :?: :?: :?: :?:


Marco Salles

Marco Salles

Curtidas 0

Respostas

Kapak

Kapak

22/03/2005

Olá, pelo que entendo, as msgs WM são do Windows e CM(Control Messages) são produzidas pelo Delphi. É + assim: quando o Windows envia uma msg p/ seu aplicativo, ele a recebe numa procedure message WM_xxx. Então o Delphi a converte p/ CM_xxx p/ poder enviá-la p/ seus componentes pq eles por sí só não conseguem ´enxergar´ a msg WM.


GOSTEI 0
Marco Salles

Marco Salles

22/03/2005

Olá, pelo que entendo, as msgs WM são do Windows e CM(Control Messages) são produzidas pelo Delphi. É + assim: quando o Windows envia uma msg p/ seu aplicativo, ele a recebe numa procedure message WM_xxx. Então o Delphi a converte p/ CM_xxx p/ poder enviá-la p/ seus componentes pq eles por sí só não conseguem ´enxergar´ a msg WM.


Interresante.... Mas o segunda Procedure Parece que não é executada, quando se tem a Primeira :cry: :cry: :cry: :cry:

Exemplo:

     procedure Form1.WMTimeChange(var Message: TMessage); 
 begin
  Showmessage(´Estou aqui na Primeira´);
end;

    procedure Form1.CMTimeChange(var Message: TMessage);
begin
  Showmessage(´Estou aqui na segunda´);
end;


Alguem sabe o Porque :?: :?: :?: :?:


GOSTEI 0
Kapak

Kapak

22/03/2005

Interresante.... Mas o segunda Procedure Parece que não é executada, quando se tem a Primeira
É pq vc interceptou a msg do Windows e não deixou seguí-la adiante. Coloque um [b:cc764e7592]inherited[/b:cc764e7592] na WMTimeChange.


GOSTEI 0
Marco Salles

Marco Salles

22/03/2005

Citação: Interresante.... Mas o segunda Procedure Parece que não é executada, quando se tem a Primeira É pq vc interceptou a msg do Windows e não deixou seguí-la adiante. Coloque um inherited na WMTimeChange.


É isto mesmo :P :P :P :P :P


GOSTEI 0
POSTAR