【问题解决】windows程序使用LaodImage加载图标无法显示在程序窗口标题栏
来源:互联网 发布:知乎 身体发肤受之父母 编辑:程序博客网 时间:2024/06/06 18:41
记录我在学习windows程序设计发现的问题。
在windows程序设计中使用LoadImage函数加载图标时发现自己设定的图标虽然能够在windows任务栏和.exe文件上显示,但是却无法显示在程序窗口栏。就像这样:
后来发现原来是因为自己在resource.h文件中的图标资源标识符与在.rc文件中的图标资源标识符不相同导致的。如图:
更改为相同标识符后,程序显示正常了。如图:
最后附上代码:
#include <Windows.h>#include "resource.h"#define WINDOWS_CLASS_NAME TEXT("Window_Practice")#define WINDOWS_TITLE_NAME TEXT("Window_Practice")#define WINDOW_WIDTH 400#define WINDOW_HEIGHT 400LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);void ErrorReport(LPCTSTR szReport);int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR szCmdLine, int iCmdShow){HWND hWnd;MSG msg;WNDCLASS wndclass;wndclass.style = CS_HREDRAW | CS_VREDRAW;wndclass.lpfnWndProc = WndProc;wndclass.cbClsExtra = 0;wndclass.cbWndExtra = 0;wndclass.hInstance = hInst;wndclass.hIcon = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_ICON_KNIGHT), IMAGE_ICON,0, 0, LR_DEFAULTSIZE);wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);wndclass.lpszClassName = WINDOWS_CLASS_NAME;wndclass.lpszMenuName = NULL;wndclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);if(!RegisterClass(&wndclass)){ErrorReport(TEXT("注册窗口失败!"));return -1;}hWnd = CreateWindow(WINDOWS_CLASS_NAME, WINDOWS_TITLE_NAME,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT, WINDOW_WIDTH, WINDOW_HEIGHT,NULL, NULL, hInst, NULL);ShowWindow(hWnd, iCmdShow);UpdateWindow(hWnd);while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;}LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){switch (msg){case WM_CREATE:return 0;case WM_SIZE:return 0;case WM_DESTROY:PostQuitMessage(0);return 0;}return DefWindowProc(hWnd, msg, wParam, lParam);}void ErrorReport(LPCTSTR szReport){MessageBox(NULL, szReport, WINDOWS_CLASS_NAME, MB_ICONERROR);}
1 0
- 【问题解决】windows程序使用LaodImage加载图标无法显示在程序窗口标题栏
- Windows XP中当最小化程序时,无法在任务栏显示图标的问题
- 修复Windows XP中当最小化程序时,无法在任务栏显示图标的问题
- Windows XP中当最小化程序时,无法在任务栏显示图标的问题
- Windows SDK应用程序窗口标题栏上显示自定义图标
- win32窗口程序 -----1、加载资源图标
- 窗口最小化后,可在另一程序中点击程序图标,让程序显示出来,唯一程序运行
- 基于对话框的MFC程序中,实现非模态子窗口在任务栏显示图标以及窗口左上角加图标
- 在windows mobile 6.5中使用自定义PNG程序图标
- MFC对话框程序,去掉边框和标题栏;窗口全屏显示。
- WPF中隐藏程序窗口让图标显示在通…
- 使用 vc2008编译器 在命令行下编译 windows窗口程序
- 实现将程序图标显示在系统托盘
- 程序图标不显示在任务栏上
- android让后将程序图标显示在状态栏
- 让windows终端程序不显示窗口
- android程序在真机上运行无法显示所有LogCat信息问题解决
- 嵌入在html文件中的Applet程序无法显示的问题解决方案 201
- Spring scope属性详解
- HDU Common Subsequence
- 魔方阵
- git 安装使用
- PHP实现斐波那契数列
- 【问题解决】windows程序使用LaodImage加载图标无法显示在程序窗口标题栏
- 设计模式之单例模式
- 德州扑克
- Tomcat配置
- c++运算符重载
- 【C++心路历程11】1182火柴棒等式,打表!
- [BZOJ1689][POJ2437]Muddy Roads泥泞的道路
- abap CA CO CS等操作符
- javascript从入门到精通