C++ 如何使用winapi更改标题栏图标
我使用Windows API制作了一个应用程序,并使用资源文件夹将图标更改为自定义图标。现在程序正在使用桌面上的“我的图标”,但在标题栏中有默认图标,确切地说是这个图标 现在我该如何将其更改为我的自定义图标? 我正在使用MSVC++C++ 如何使用winapi更改标题栏图标,c++,c,windows,visual-studio,winapi,C++,C,Windows,Visual Studio,Winapi,我使用Windows API制作了一个应用程序,并使用资源文件夹将图标更改为自定义图标。现在程序正在使用桌面上的“我的图标”,但在标题栏中有默认图标,确切地说是这个图标 现在我该如何将其更改为我的自定义图标? 我正在使用MSVC++ WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWnd
WNDCLASS wndclass;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;
hwnd = CreateWindow(szAppName,
TEXT("Random"),
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,
CW_USEDEFAULT,
CW_USEDEFAULT,
300,
120,
NULL,
NULL,
hInstance,
NULL);
如果使用
RegisterClassEx
注册窗口类,则WNDCLASSEX
结构有一个hIconSm
字段,用于指定一个小图标。如果这样做,不要忘记初始化cbSize
字段
或者,您可以在创建窗口后使用
WM_SETICON
消息为窗口指定一个小图标。请发布您正在使用的调用CreateWindow
/CreateWindowEx
的代码。这是纯WinAPI程序,还是您正在使用MFC之类的框架?没有框架MFC或Qt或其他。这只是一个纯WinaPI注释,您可以使用L“Random”
而不是调用TEXT()
。该函数将字符从char
转换为宽字符,并将L前缀添加到常量中,也可以实现同样的效果。非常感谢,这正是我想要实现的。