DrawIconEx и DrawIcon рисуют только не анимированный значок загрузки - PullRequest
0 голосов
/ 03 ноября 2011

Я сейчас работаю над camstudio_cl (здесь, если интересно) .Теперь проблема в том, что я должен нарисовать курсор в HDC.

Вот как это делается в настоящее время (сокращено):

HCURSOR hcur = GetCursor();
::DrawIconEx( hMemDC, xPoint.x, xPoint.y, hcur, 0, 0, 0, NULL, DI_NORMAL);

Проблема в том, что это рисует толькоанимированный курсор загрузки, независимо от того, какой курсор отображается на экране.Но если вы замените HCURSOR на определенный HICON, в данном случае это будет раздача:

::DrawIconEx( hMemDC, xPoint.x, xPoint.y, LoadCursor(IDC_HAND), 0, 0, 0, NULL, DI_NORMAL);

Так что, похоже, проблема в функции GetCursor (), но она не нулевая, и я получаю дескриптор,Я также пытался создать свой собственный курсор с помощью GetIconInfo и с помощью этого потока , но мне это не удалось.Это всего лишь черный квадрат с белыми точками.

Надеюсь, кто-нибудь сможет мне помочь с этим.

1 Ответ

0 голосов
/ 03 ноября 2011

Благодаря Рэймонду Чену я получил его ... просто хочу получить ответ на этот вопрос как помеченный.

Мне нужно было получить глобальный вместо дескриптора локального курсора.

  CURSORINFO pci;
  pci.cbSize = sizeof(CURSORINFO);
  GetCursorInfo(&pci);
  return pci.hCursor;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...