gpt4 book ai didi

c++ - Windows 编程 : WNDCLASS structure: hIcon member Problem

转载 作者:行者123 更新时间:2023-11-28 01:04:03 25 4
gpt4 key购买 nike

我用 VS2010 为我用 DirectX 制作的游戏创建了一个自定义 .ico

当我将 .ico 文件设置为我的 wndClass 的 hIcon 成员时,它将显示在任务栏中,但不会显示在标题栏中。

我已经阅读了关于此的其他主题,我搜索了谷歌,msdn:运气不好......我已经尝试了我能想到的任何东西,它仍然不会显示。

奇怪的是:当我将 hIcon 切换为默认图标(如 IDI_ERROR)时,它会同时显示在任务栏和标题栏中,但不会显示在我自定义的 .ico 中

谁能帮帮我?

这是我的代码:

HICON Icon = LoadIcon( NULL, MAKEINTRESOURCE(ID_ICON_MYTETRIS) );

WNDCLASS wndClass;
ZeroMemory(&wndClass,sizeof(wndClass));

wndClass.style = CS_HREDRAW | CS_VREDRAW;
wndClass.lpfnWndProc = WndProc;
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hInstance = hInstance;
wndClass.hCursor = LoadCursor( NULL, IDC_ARROW );
wndClass.hIcon = Icon;
wndClass.hbrBackground = static_cast<HBRUSH>(GetStockObject(WHITE_BRUSH));
wndClass.lpszMenuName = NULL;
wndClass.lpszClassName = _T("WindowClass0");

if (RegisterClass(&wndClass) == false) {
return -1;
}

RECT rc = {0,0,300,225};
AdjustWindowRect(&rc, WS_OVERLAPPEDWINDOW, FALSE);
HWND hWnd = CreateWindow(_T("WindowClass0")
,_T("2D_DirectX_Tetris")
,WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX
,CW_USEDEFAULT
,CW_USEDEFAULT
,rc.right - rc.left
,rc.bottom - rc.top
,NULL
,NULL
,hInstance
,NULL );
if( hWnd == false) {
return -1;
}

ShowWindow( hWnd, iCmdShow );

最佳答案

您必须在调用 LoadIcon 时指定一个实例句柄,以便它知道要使用哪个模块的资源。标准图标需要一个 NULL 实例,这就是它们适合您的原因。

关于c++ - Windows 编程 : WNDCLASS structure: hIcon member Problem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7312908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com