在资源文件中自定义光标,并在程序中加载,使得应用程序光标为该自定义光标
时间: 2023-05-21 15:02:21 浏览: 71
可以使用 WinAPI 中的 LoadCursorFromFile 函数来加载自定义光标文件,然后使用 SetCursor 函数将其设置为应用程序的光标。以下是一个简单的示例代码:
HCURSOR hCursor = LoadCursorFromFile("custom_cursor.cur");
SetCursor(hCursor);
其中,custom_cursor.cur 是自定义光标文件的路径。注意,这个函数只能加载 .cur 或 .ani 格式的光标文件。
如果需要在资源文件中定义自定义光标,可以在 .rc 文件中添加以下代码:
MY_CURSOR CURSOR "custom_cursor.cur"
其中,MY_CURSOR 是自定义光标的名称,custom_cursor.cur 是光标文件的路径。然后在程序中使用 LoadCursor 函数来加载该光标:
HCURSOR hCursor = LoadCursor(hInstance, MAKEINTRESOURCE(MY_CURSOR));
SetCursor(hCursor);
其中,hInstance 是应用程序实例的句柄。
相关问题
同时建立新的光标文件“(利用VC的资源编辑器),光标为自己的姓氏的最后一个汉字(例如“诸葛亮”则光标为“亮”,字体颜色改为红色,背景色自选),在资源文件中自定义光标,并在程序中加载,使得应用程序光标为该自定义光标。
您可以使用以下代码来实现这个功能:
首先,在资源编辑器中创建一个新的光标资源,将光标命名为您的姓氏的最后一个汉字(例如“亮.cur”)。
然后,在您的应用程序中加载该光标资源,并将其设置为当前光标:
HINSTANCE hInstance = GetModuleHandle(NULL);
HCURSOR hCursor = LoadCursor(hInstance, MAKEINTRESOURCE(IDC_YOURCURSOR));
SetCursor(hCursor);
请注意,您需要将“IDC_YOURCURSOR”替换为您在资源编辑器中分配给光标资源的ID。
最后,您可以使用以下代码来更改光标的颜色:
HICON hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION));
HBRUSH hBrush = CreateSolidBrush(RGB(255, 0, 0)); // 红色背景
ICONINFO iconInfo = { 0 };
iconInfo.fIcon = FALSE;
iconInfo.hCursor = hCursor;
iconInfo.hbmColor = hIcon;
iconInfo.hbmMask = hIcon;
iconInfo.hbmColor = NULL;
iconInfo.hbmMask = NULL;
iconInfo.hbmColor = CreateBitmap(32, 32, 1, 1, NULL);
iconInfo.hbmMask = CreateBitmap(32, 32, 1, 1, NULL);
FillRect(GetDC(NULL), &rect, hBrush);
SetCursor(LoadCursor(NULL, IDC_ARROW));
SetClassLongPtr(hWnd, GCLP_HICON, (LONG_PTR)CreateIconIndirect(&iconInfo));
请注意,您需要将“IDI_APPLICATION”替换为您的应用程序图标的ID。
vs怎么用资源管理器加载自定义光标
您可以通过以下步骤在 Visual Studio 中使用资源管理器加载自定义光标:
1. 在资源管理器中找到您的自定义光标文件(通常是 .cur 或 .ani 格式)。
2. 右键单击该文件,选择“属性”选项。
3. 在属性窗口中,将“生成操作”选项设置为“资源”。
4. 点击“应用”按钮,然后点击“确定”按钮。
5. 在代码中使用以下语法来加载光标:
HCURSOR hCursor = LoadCursorFromFile(TEXT("path/to/your/cursor.cur"));
请注意,您需要将“path/to/your/cursor.cur”替换为您自己的光标文件路径。