Dans Delphi 2007, dans un événement de déplacement de la souris, j'essaie de changer le curseur de la souris avec :
procedure TFr_Board_Display.PaintBox_Proxy_BoardMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
if left_mouse_button_down then begin
if some_condition then begin
Cursor := crDrag;
end
else begin
Cursor := crNoDrop;
end;
end
else begin
if some_other_condition then begin
Cursor := crHandPoint;
end
else begin
Cursor := crDefault;
end;
end;
end;
par exemple. Cependant, lorsque le bouton gauche de la souris est enfoncé et que je déplace la souris, le curseur ne passe ni à crDrag ni à crNoDrop. Le code est exécuté (par exemple, Cursor := crDrag ;) mais le curseur ne change pas. Lorsque le bouton gauche de la souris est relevé et que je déplace la souris, le curseur change sans problème.
(Au départ, j'ai essayé d'utiliser certains événements et propriétés de Drag & Drop, mais je n'ai pas réussi à tout faire fonctionner comme je le voulais).
Edit : Clarifié le comportement souhaité, et formaté le code.
Edit : Merci, Gamecat, mais je veux que le curseur change lorsque le bouton gauche de la souris est enfoncé et que, lorsque la souris se déplace, le curseur passe de crDrag à crNoDrop.