В Delphi 2007, в событии перемещения мыши, я пытаюсь изменить курсор мыши с помощью:
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;
например. Однако, когда левая кнопка мыши нажата, а я перемещаю мышь, курсор не меняется ни на crDrag, ни на crNoDrop. Код выполняется (например, Cursor: = crDrag;), но курсор не изменяется. Когда левая кнопка мыши поднята, и я перемещаю мышь, курсор без проблем меняется.
(Первоначально я пытался использовать некоторые события и свойства Drag & Drop, но не мог заставить все работать так, как я хотел.)
Изменить: Уточнение желаемого поведения и отформатированный код.
Редактировать: Спасибо, Gamecat, но я хочу, чтобы курсор изменился, когда левая кнопка мыши нажата, а во время движения курсора курсор должен меняться назад и вперед между crDrag и crNoDrop.