[lazarus] Win32: moving and message handling

Karl Brandt pascalive at bol.com.br
Sun Jul 6 17:35:08 EDT 2003


Mattias Gaertner wrote:
> On Sun, 06 Jul 2003 15:56:24 +0200
> Micha Nelissen <M.Nelissen at student.tue.nl> wrote:
> 
> 
>>Hi,
>>
>>I still have to object again the latest patch for WM_MOVE handling, the 
>>previous one was better. That is because the internal variables haven't 
>>been updated when WM_MOVE is sent, only after it has been processed they 
>>are updated. So when GetWindowRect is called it retrieves the wrong 
>>values. So use the information in the LParam at least:
>>
>>XPos := LoWord(LParam);
>>YPos := HiWord(LParam);
>>
>>(Maybe compensate for client rect ourselves, but certainly don't use the 
>>GetWindowRect / GetClientRect functions). This also explains the weird 
>>behaviour of maximizing: The form stays the same size because 
>>GetClientRect returns the previous client size, not the current one.
> 
> 
> The maximizing should now be better.
> 

Now the maximizing works, but some controls are not show. See examples.

Sorry if i missed something,but with these changes TLMSize.SizeType is 
always Size_SourceIsInterface. How can the form update the FWindowState?

karl






More information about the Lazarus mailing list