×

loadicon函数 c 函数

loadicon函数(C++ LoadIcon()函数)

admin admin 发表于2022-09-03 23:50:37 浏览262 评论0

抢沙发发表评论

本文目录

C++ LoadIcon()函数


先把图标加入你的工程的资源列表中, 就是让Icon成为Resource的一员.
然后给它起一个响亮的ID, 然后就LoadIcon(hInstance, MAKEINTRESOURCE(ID))就行了.
如果不是系统自带的图标, 第一个参数要传进你的应用程序的实例句柄.
补充: 光是放进去是不行的, 放到Res文件夹下不代表你已经在工程中引入了这个资源......你再去看看Win32中Windows资源是怎么定义的吧.
LoadIcon函数的第二个参数必须是资源的ID, ID被定义为UINT,也就是unsigned int, 你传字符串进去当然错了.
最后, 你最好还是看一看Windows API Programming之类的书籍吧. 以VB的方式去思考VC是不行的.

LoadIcon()的返回值是什么


楼上的兄弟错了,CWinApp里面的LoadIcon是不需要instance参数的,所以,app中的函数原型是下面的才对:
CWinApp::LoadIcon
HICON LoadIcon( LPCTSTR lpszResourceName ) const;
HICON LoadIcon( UINT nIDResource ) const;
返回值:如果成功,则返回图标的句柄;否则返回NULL。
参数: lpszResourceName 指向一个以null结尾的字符串,其中包含了图标资源的名字。你可以在这个参数中使用CString对象。
nIDResource 图标资源的ID。
说明:
载入可执行文件中以lpszResourceName为名或是nIDResource指定的图标资源。仅当以前图标没有被载入内存时才将它载入;否则它获得现存资源的句柄。你可以使用LoadStandardIcon或LoadOEMIcon成员函数来访问预定义的Windows图标。
注意:这个成员函数调用Win32 API函数LoadIcon,它仅能载入大小在SM_CXICON和SM_CYICON之内的图标。

C++ win32中 调用 LoadImage LoadIcon 等函数返回空句柄


就你所,提供的这个问题我觉得是一种,编程语言方面的问题在这里我希望,有编程语言的朋友们,可以帮助你解读一下像这个函数file,返回的空句,话是什么意思。

MFC中LoadIcon问题


GetIconWndClass就是框架窗口创建之前的资源准备,这个函数并不仅仅是准备了icon,而是包括了框架和资源整合的大部分工作。这个函数只能被LoadFrame调用,不可以自己来调用。
如果是系统运行出现这个LoadIcon的问题,一般是资源被锁定或占用,具体原因没调试不好说。
如果是你自己要使用LoadIcon,在MFC下不需要这么用,app类有LoadIcon成员函数处理这些事物,或者用LoadImage加载图标,可以获得更灵活的形式。
-函数

LoadIcon函数不能在窗口左上角显示自定义图标,但是任务栏中还是可以显示应用程序的图标的


wndcls.hIcon = LoadIcon(hInstance, IDI_ICON1);

不能使用双引号,IDI_ICON1其实就是一个int,你将它括起来是错的,那是导入外部文件的模式。


使用vs2010通过loadicon加载外部图标


1.函数说明:
该函数从与hInstance模块相关联的可执行文件中装入lpIconName指定的图标资源,仅当图标资源还没有被装入时该函数才执行装入操作,否则只获取装入的资源句柄
2.参数说明:lpIconName是指向NULL字符结尾的字符串的指针,它包含图标名.如果要使用windows预定义的图标,这是hInstance必须设置成NULL,lpIconName则可以是下列值:
IDI_APPLICATION:32512 IDI_QUESTION:332514
IDI_HAND:32513 IDI_EXCLAMATION:32515
IDI_ASTERISK :32516 IDI_WINLOGO:32517
可以用下面这个对话框来浏览图标
void CMyDlg::OnButton1()
{
// TODO: Add your control notification handler code here
static int i=0;
m_static1.ModifyStyle(0,SS_ICON);//m_static1是一个静态文本的关联变量
m_static1.SetIcon(::LoadIcon(NULL,(LPCTSTR)(32512+i)));
i++;
if(i》=6)
i=0;
}
注意上面要用强制转换.
-c

如何改变应用程序的窗口图标


1.图标的调用和清除
在MFC中,使用CWinApp::LoadIcon函数可将一个图标资源调入并返回一个图标句柄。函数原型如下:
HICON LoadIcon(LPCSTR lpszResourceName)const; // lpszResourceName表示图标资源的字符串名
HICON LoadIcon(UINT nIDResource)const; // nIDResource表示图标资源的标识
使用系统中预定好的标准图标,这时需调用CWinApp::LoadStandardIcon函数,其原型如下:
HICON LoadStandardIcon(LPCTSTR lpszIconName)const;
其中lpszIconName值可以是下列值之一:
IDI_APPLICATION 默认的应用程序图标
IDI_HAND 手形图标(用于严重警告)
IDI_QUESTION 问号图标(用于提示消息)
IDI_EXCLAMATION 警告消息图标(惊叹号)
IDI_ASTERISK 消息图标
全局函数DestroyIcon可以用来删除一个图标,并释放为图标分配的内存,其原型如下:
BOOL DestroyIcon(HICON hIcon); // hIcon指定要删除的图标句柄
图标的绘制
函数CDC::DrawIcon用来将一个图标绘制在指定的位置处,其原型如下:
BOOL DrawIcon(int x, int y, HICON hIcon);
BOOL DrawIcon(POINT point, HICON hIcon);
// (x,y)和point用来指定图标绘制的位置
// hIcon用来指定绘制的图标句柄
应用程序的图标改变
图标资源IDR_MAINFRAME用来表示应用程序窗口的图标,通过图形编辑器可将其直接修改。实际上,程序中还可以使用GetClassLong和SetClassLong函数重新指定应用程序窗口的图标。函数原型如下:
DWORD SetClassLong(HWND hWnd, int nIndex, LONG dwNewLong);
DWORD GetClassLong(HWND hWnd, int nIndex);
// hWnd用来指定窗口类句柄
// dwNewLong用来指定新的32值
// nIndex用来指定与WNDCLASSEX结构相关的索引,它可以是下列值之一:
GCL_HBRBACKGROUND 窗口类的背景和画刷句柄
GCL_HCURSOR 窗口类的光标句柄
GCL_HICON 窗口类的图标句柄
GCL_MENUNAME 窗口类的菜单资源名称
-函数

VC++中调用LoadIcon加载自己的位图资源不起作用


你好,你应该使用LoadIcon方法调用icon资源,你调用的IDB_BITMAP1是bitmap资源,你可以新建一个icon资源,指定icon资源的id给上面的函数就可以了。

VC中loadicon()函数


1.准备一张“普通“的.ico的图标
2.在VC工程中“插入“-》“资源“-》选择图标,引入刚才的图标
3.保存资源脚本.rc文件,默认引入的ICON的ID为IDI_ICON1
4.在主程序文件头部添加#include《resource.h》(在工程中添加脚本文件和resource.h文件)
5.修改wndcls.hIcon=LoadIcon(NULL,IDI_ERROR)为wndcls.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1))
6.重新编译运行...
示例工程文件:www.namipan.com/d/b094289a892000e5fd3f0dd818366f5e65aabbc3cc2c0000
-c