[lazarus] Win32: moving and message handling
Mattias Gaertner
nc-gaertnma at netcologne.de
Mon Jul 7 04:33:36 EDT 2003
On Sun, 06 Jul 2003 19:02:28 -0300
Karl Brandt <pascalive at bol.com.br> wrote:
> 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.
Maybe this had to do with your GetWindowRelativePosition.
> Sorry if i missed something,but with these changes TLMSize.SizeType is
> always Size_SourceIsInterface. How can the form update the FWindowState?
Size_SourceIsInterface is now a flag added to WParam.
The other states are not yet implemented in the gtk-interface and the LCL
does not yet react properly to the states.
Mattias
More information about the Lazarus
mailing list