I think I have a solution:
Here's how to change the cursor for "whole desktop" - not just for your application:
SetSystemCursor(Screen.Cursors[crDefault], OCR_NORMAL);
: /, , - , , . .
MSDN, SetCursor, , , .
Update:
, , SetSystemCursor (Screen.Cursors [crHourGlass], OCR_NORMAL);
- , , , - , - 1. , .
: :
procedure TForm1.Button1Click(Sender: TObject);
var
cArrow, cHour: HCURSOR;
begin
cArrow := CopyImage(Screen.Cursors[crArrow], IMAGE_CURSOR, 0, 0, LR_COPYFROMRESOURCE);
cHour := CopyImage(Screen.Cursors[crHourGlass], IMAGE_CURSOR, 0, 0, LR_COPYFROMRESOURCE);
if (cArrow <> 0) and (cHour <> 0) and SetSystemCursor(cHour, OCR_NORMAL) then
try
// do processing
finally
SetSystemCursor(cArrow, OCR_NORMAL);
end;
end;