[Delphi] histoire de pointeur

histoire de pointeur [Delphi] - Programmation

Marsh Posté le 17-01-2002 à 19:59:22    

j'intercepte un message window WM_WINDOWPOSCHANGED ( http://msdn.microsoft.com/library/ [...] s_5q90.asp )
 
selon microsoft l'argument LParm est un pointeur sur une structure WINDOWPOS
 
comment je fais pour acceder aux elements de cette structure?

Reply

Marsh Posté le 17-01-2002 à 19:59:22   

Reply

Marsh Posté le 17-01-2002 à 20:12:51    

Code :
  1. TWMWindowPosMsg = packed record
  2.     Msg: Cardinal;
  3.     Unused: Integer;
  4.     WindowPos: PWindowPos;
  5.     Result: Longint;
  6.   end;


 
c'est dans Source\Rtl\Win\Messages.pas
appremment il y a un param WindowPos (celui qui t'intéresse donc) de type PWindowPos, donc un pointeur.
 
et dans Source\Rtl\Win\Windows.pas on trouve:
 

Code :
  1. { WM_WINDOWPOSCHANGINGCHANGED struct pointed to by lParam }
  2.   PWindowPos = ^TWindowPos;
  3.   {$EXTERNALSYM tagWINDOWPOS}
  4.   tagWINDOWPOS = packed record
  5.     hwnd: HWND;
  6.     hwndInsertAfter: HWND;
  7.     x: Integer;
  8.     y: Integer;
  9.     cx: Integer;
  10.     cy: Integer;
  11.     flags: UINT;
  12.   end;
  13.   TWindowPos = tagWINDOWPOS;
  14.   {$EXTERNALSYM WINDOWPOS}
  15.   WINDOWPOS = tagWINDOWPOS;


 
donc, supposons que ton message soit tans la variable Msg1, tu fais:
TWMWindowPosMsg(Msg1).WindowPos^.x par ex pour accéder au x.
Je crois que ça doit marcher, ou alors c'est pas trop loin de ça.

 

[edtdd]--Message édité par antp--[/edtdd]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 17-01-2002 à 20:39:14    

merci !
 
ca marche avec:
TWMWindowPosMsg(Msg1).WindowPos.x

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed