А как можно узнать какой тип курсора в данный момент установлен? IDC_ARROW или там IDC_WAIT какой... Или вообще пользовательский.
Здравствуйте, CEMb, Вы писали:
CEM>А как можно узнать какой тип курсора в данный момент установлен? IDC_ARROW или там IDC_WAIT какой... Или вообще пользовательский.
Не совсем то, что нужно, но может быть пригодится
function GetCursorInfo2: TCursorInfo;
var
hWindow: HWND;
pt: TPoint;
dwThreadID, dwCurrentThreadID: DWORD;
begin
ZeroMemory(@Result, SizeOf(Result));
if GetCursorPos(pt) then
begin
Result.ptScreenPos := pt;
hWindow := WindowFromPoint(pt);
if IsWindow(hWindow) then
begin
dwThreadID := GetWindowThreadProcessId(hWindow, nil);
dwCurrentThreadID := GetCurrentThreadId;
if (dwCurrentThreadID <> dwThreadID) then
begin
if AttachThreadInput(dwCurrentThreadID, dwThreadID, True) then
begin
Result.hCursor := GetCursor;
AttachThreadInput(dwCurrentThreadID, dwThreadID, False);
end;
end
else
Result.hCursor := GetCursor;
end;
end;
end;
Здравствуйте, Aniskin, Вы писали:
CEM>>А как можно узнать какой тип курсора в данный момент установлен? IDC_ARROW или там IDC_WAIT какой... Или вообще пользовательский.
A>Не совсем то, что нужно, но может быть пригодится
A>function GetCursorInfo2: TCursorInfo;
[...]
A>end;
А тут обязательно AttachThreadInput делать?