Отображение курсора

Система автоматически отображает класса cursor (курсор, связанный с окном, на которую указывает курсор). Вы можете назначить класс курсора при регистрации класса окна. Следующий пример иллюстрирует это путем присвоения дескриптор курсора hCursor член WNDCLASS структуры, заданного параметром wc.

WNDCL&ASS туалет; 
 
/ / Заполнить структуру класса окна с параметрами, / / описывают главного окна. 
 
WC.Style = NULL;                        / / класса style(s) wc.lpfnWndProc = MainWndProc (WNDPROC); / / окна процедура wc.cbClsExtra = 0;           / / не каждого класса дополнительных данных wc.cbWndExtra = 0;           / / не за окно дополнительных данных wc.hInstance = hinst;        / / приложение, которому принадлежит классу wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);     / / класса значок wc.hCursor = LoadCursor (hinst, MAKEINTRESOURCE(230)); / / класса курсор wc.hbrBackground = GetStockObject(WHITE_BRUSH); / / класса фон wc.lpszMenuName = «GenericMenu»;               / / класса меню wc.lpszClassName = «GenericWClass» / / имя класса / / регистрация класса окна. 
 
возвращение RegisterClass(amp;wc) 
 

При регистрации класса окна курсор, выявленным 230 в файле определения ресурса приложения будет курсор по умолчанию для всех окон, основанный на классе.

Приложение может изменить дизайн курсора, используя функцию SetCursor и указав другой курсор ручкой. Однако когда курсор перемещается, система перерисовывает класса курсор на новом месте. Чтобы класс курсора является перевыписать, необходимо обработать сообщение WM_SETCURSOR . Каждый раз, когда курсор перемещается и ввод мыши не захвачен, система отправляет это сообщение в окно, в котором движется курсор.

Можно указать разные курсоры для различных условий при обработке WM_SETCURSOR. Например следующий пример демонстрируется отображение курсора hCurs3 всякий раз, когда курсор перемещается над иконой свернутых приложений.

дело WM_SETCURSOR: / / Если окно свернуто, нарисуйте hCurs3 курсора. 
    / / Если окно не свернуто, отрисовку по умолчанию / / курсор (класс курсора). 
 
    Если (IsIconic(hwnd)) {SetCursor(hCurs3); 
        перерыв; 
    } 
 

Когда окно не свернуто, система отображает курсор класса.

Класс курсора можно заменить, используя функцию SetClassLong . Эта функция изменяет параметры окна по умолчанию для всех окон данного класса. В следующем примере заменяется существующего класса курсор с курсором hCurs2.

/ / Изменить курсор для класса окна, представленного hwnd. 
 
SetClassLong (hwnd, / / окно обработать GCL_HCURSOR, / / изменить курсор (ДЛИННАЯ) hCurs2);   / / новый курсор 
 

Дополнительные сведения содержатся в разделе Классы окон и Ввода мыши.

Index