Система автоматически отображает класса 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); / / новый курсор
Дополнительные сведения содержатся в разделе Классы окон и Ввода мыши.