User and Graphics Device Interface Objects, страница 3

ACCEL

typedef struct tagACCEL { // accl

    BYTE   fVirt;

    WORD   key;

    WORD   cmd;

} ACCEL;

ACCEL структура определяет клавишу-акселератор, используемую в таблице акселераторов.

Элементы структуры:

Определяет флаги акселератора. Это поле может быть комбинацией следующих значений:

FALT               Клавиша alt должна удерживаться, когда нажата клавиша акселератора

FCONTROL    Клавиша ctrl должна удерживаться, когда нажата клавиша акселератора

FNOINVERT   Определяет, что никакой пункт меню верхнего уровня не выделяется, когда задействован акселератор. Если этот флаг не определен, пункт меню верхнего уровня выделится, если возможно, когда акселератор будет задействован.

FSHIFT           Клавиша shift должна удерживаться, когда нажата клавиша акселератора

FVIRTKEY      Член структуры key определяет виртуальный код символа . Если этот флаг не определен, значение key содержит ASCII код символа.

key

Определяет клавишу-акселератор. Этот член структуры может содержать либо виртуальный код либо ASCII код символа.

cmd

Определяет идентификатор акселератора. Его значение устанавливается в младшем слове wParam параметра WM_COMMAND или сообщения WM_SYSCOMMAND, когда акселератор нажат.

CreateCursor

Функция CreateCursor создает курсор определенного размера, битовой маской и точкой реакции (hot spot).

HCURSOR CreateCursor(

    HINSTANCE  hInst, // описатель экземпляра приложения

    int  xHotSpot,           // горизонтальная позиция точки реакции

    int  yHotSpot,           // вертикальная позиция точки реакции

    int  nWidth,   // ширина курсора

    int  nHeight,  // высота курсора

    CONST VOID  *pvANDPlane,       // адрес ‘И’ массива битовой маски

    CONST VOID  *pvXORPlane        // адрес ‘ИЛИ’ массива битовой маски

   );

Параметры

hInst

Идентифицирует текущий экземпляр приложения, создающего курсор.

xHotSpot

Определяет горизонтальную позицию точки реакции курсора.

yHotSpot

Определяет вертикальную позицию точки реакции курсора.

nWidth

Определяет ширину, в пикселах, курсора.

nHeight

Определяет высоту, в пикселах, курсора.

pvANDplane

Указывает на массив байтов, который содержит битовые величины для ‘И’ битовых масок курсора, как в устройство зависимом  монохромном побитовом отображении.

pvXORplane

Указывает на массив байтов, который содержит битовые величины для ‘ИЛИ’ битовых масок курсора, как в устройство зависимом  монохромном побитовом отображении.

Возвращаемое значение

В случае успешного завершения, возвращаемое значение определяет курсор. В случае неудачи, возвращаемое значение NULL. Для получения расширенной информации по ошибке, необходимо вызвать GetLastError.

Замечания

nWidth И nHeight параметры должны определять ширину и высоту, которые поддерживаются текущим драйвером дисплея, поскольку система не может создать курсоры других размеров. Для того, чтобы определять ширину и высоту поддерживающуюся драйвером дисплея, используйте функцию GetSystemMetrics, определяя величину SM_CXCURSOR или SM_CYCURSOR.

Перед закрытием, приложение должно вызвать функцию DestroyCursor, чтобы освободить все системные ресурсы, связываемые с курсором.

Смотри также

CreateIcon, DestroyCursor, GetModuleHandle, GetSystemMetrics, SetCursor

DestroyCursor

DestroyCursor функция уничтожает курсор созданный функцией CreateCursor и освобождает память занятую под курсор. Не используйте эту функцию, чтобы уничтожить курсор, который созданный не функцией CreateCursor.

BOOL DestroyCursor(

    HCURSOR  hCursor // описатель уничтожаемого курсора

   );          

Параметры

hCursor

Идентифицирует курсор, который должен уничтожаться. Курсор не должен использоваться.

Возвращаемое значение

В случае успешного завершения, возвращаемое значение TRUE. В случае неудачи, возвращаемое значение FALSE. Для получения расширенной информации по ошибке, необходимо вызвать GetLastError.