Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.21;
Скачать: CL | DM;

Вниз

как нарисовать Cursor на DC?   Найти похожие ветки 

 
Grief ©   (2005-06-25 11:18) [0]

Как нарисовать средствами 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. Как быть?


 
Kerk ©   (2005-06-25 11:22) [1]

Преобразование типов еще никто не отменял. Необходимость думать головой - тоже.


 
Grief ©   (2005-06-25 11:23) [2]

А по точнее? А вы уверены, что после преобразования получится? У меня нет. Может руки из задницы растут?


 
Grief ©   (2005-06-25 11:24) [3]

Я также пробовал LoadCursor где использовал в имени константу, но в итоге не рисуется курсор DrawIconEx. Может в нем ошибка?


 
Kerk ©   (2005-06-25 11:28) [4]

Grief ©   (25.06.05 11:23) [2]
А вы уверены, что после преобразования получится?


Не получится.
Сначала делай LoadCursor со своим PChar и получай hIcon.


 
Grief ©   (2005-06-25 11:33) [5]

Я так и делал. А как потом нарисовать DrawIconEx?

P.S. То получится, то нет. Я запутался.


 
Grief ©   (2005-06-25 11:46) [6]

//Всем сэнкс, вот так работает

 H := LoadCursor(0, IDC_ARROW);
 DrawIconEx(GetDC(0), 0, 0, H, 0, 0, 0, 0, DI_Normal);

 //Наверно вчера ночью ошибся в чем-то....



Страницы: 1 вся ветка

Текущий архив: 2005.08.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.057 c
1-1122636148
А
2005-07-29 15:22
2005.08.21
Время выполнения процедуры, функции, отрезка кода и т.п.?


4-1119846375
leonidus
2005-06-27 08:26
2005.08.21
Как отследить двойное нажатие клавиши Shift


3-1121238833
_Anton
2005-07-13 11:13
2005.08.21
BDE Oracle Blob


4-1120277194
mr.IL
2005-07-02 08:06
2005.08.21
AveSync


3-1121234219
leonidus
2005-07-13 09:56
2005.08.21
ADO с провайдером Microsoft.Jet.OLEDB.4.0 не хочет делать INSERT