![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как нарисовать Cursor на DC? [D7, WinXP]
Grief © (2005-06-25 11:18:00)Как нарисовать средствами API текущий курсор-стрелочку на DC?
В справке написано:
An application can use the GetIconInfo function to retrieve the current image for a cursor, and can draw the cursor by using the DrawIconEx function. To draw the default image for a standard cursor, specify the DI_COMPAT flag in the call to DrawIconEx. If you do not specify the DI_COMPAT flag, DrawIconEx draws the standard cursor using the image that the user specified.
Про GetIconInfo :
The GetIconInfo function retrieves information about the specified icon or cursor.
BOOL GetIconInfo(
HICON hIcon, // icon handle
PICONINFO piconinfo // address of icon structure
);
Также:
hIcon
Identifies the icon or cursor. To retrieve information about a standard icon or cursor, specify one of the following values:
То есть типа можно использовать константы IDC_ и IDI_ Но при их использование происходит ошибка типов. Что и немудрено - они PAnsiChar а надо hIcon. Как быть?
Grief (2005-06-25 11:46:00) [1]//Всем сэнкс, вот так работает
H := LoadCursor(0, IDC_ARROW);
DrawIconEx(GetDC(0), 0, 0, H, 0, 0, 0, 0, DI_Normal);
//Наверно вчера ночью ошибся в чем-то....
Grief (2005-06-25 11:33:00) [2]Я так и делал. А как потом нарисовать DrawIconEx?
P.S. То получится, то нет. Я запутался.
Kerk (2005-06-25 11:28:00) [3]Grief © (25.06.05 11:23) [2]
А вы уверены, что после преобразования получится?
Не получится.
Сначала делай LoadCursor со своим PChar и получай hIcon.
Grief (2005-06-25 11:24:00) [4]Я также пробовал LoadCursor где использовал в имени константу, но в итоге не рисуется курсор DrawIconEx. Может в нем ошибка?
Grief (2005-06-25 11:23:00) [5]А по точнее? А вы уверены, что после преобразования получится? У меня нет. Может руки из задницы растут?
Kerk (2005-06-25 11:22:00) [6]Преобразование типов еще никто не отменял. Необходимость думать головой - тоже.