Redimensionner un composant avec l'API Win32
Bonjour,
J'utilise l'API Win32 pour redimensionner un panel en runtime en utilisant la méthode expliqué sur http://www.delphi-central.com/resize.aspx.
Voici un extrait:
Code:
1 2 3 4 5 6 7 8 9 10
| const
sizeBorder = 2;
sc_SizeBottom = $F006;
procedure TAnalysisControl.MouseDown( Button : TMouseButton; Shift : TShiftState; X, Y : integer);
begin
WinProcs.ReleaseCapture;
if Not((X <= sizeBorder) or (X >= Width -sizeBorder)) And (Y >= Height - sizeBorder) // CONDITIONS
then Self.Perform(WM_SysCommand, sc_SizeBottom , 0)
end; |
Mon problème vient du fait que je veux limiter le redimensionnement (non pas en dimension du composant, mais en position). Par exemple je veux empecher que le composant dépasse la position 400 de ma Form : mais lorsqu'on envoie un message (ex:WM_SysCommand), les conditions sont vérifiées avant l'envoie du message mais lorque le redimensionnement se fait je ne peux pas le limiter en position (les conditions ne sont pas vérifiées pendant l'éxecution du message).
Y-a-t'il un moyen d'interrompre un message (comme ici le redimensionnement) ?
Bonne journée!