如何给窗口设置图标

步骤一:

切换到Resource选项卡,导入一个ico文件,右击图标文件,选择properties选项,在ID中更改它的名字,如:IDI_ICONAPP,在头文件夹中导入资源头文件(resource.h)

 

步骤二:

//载入图标
    HICON hIcon = LoadIcon((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE) ,MAKEINTRESOURCE(IDI_ICONAPP));

 

步骤三:

//SendMessage(hwnd, WM_SETICON, TRUE,  (LPARAM)hIcon);
 //SendMessage(hwnd, WM_SETICON, FALSE, (LPARAM)hIcon);

 

 

 

 SendMessage(hwnd, WM_SETICON, ICON_BIG,  (LPARAM)hIcon);
 SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);

 

 

备注:

WM_SETICON Message

一个应用程序发送WM_SETICON消息来将一个大图标或一个小图标与一个窗口相关联。大图标将在按下ALT+TAB组合键时显示,小图标将在窗口的标题栏内显示。

语法


lResult = SendMessage(    // returns LRESULT in lResult
hWndControl,           // (HWND) handle to destination control
WM_SETICON,            // (UINT) message ID
wParam,                // = () wParam;
lParam                 // = () lParam;
);

参数


wParam

指定图标的类型。该参数可以为下列值之一:

ICON_BIG=true
为窗口设置大图标
ICON_SMALL=false
为窗口设置小图标

lParam

新的大、小图标的句柄。如果该参数为NULL,由wParam参数指定的图标将会移除。

返回值

返回值是之前的大图标或小图标的句柄,取决于wParam参数的值。如果窗口之前没有wParam参数标识的图标类型,则返回NULL。

备注

DefWindowProc  函数返回一个之前的大、小图标的句柄

 

 

MAKEINTRESOURCE这个宏是把一个数字类型转换成指针类型的宏,它不存在释放的问题

 

用这个宏的主要原因是有的资源是用序号定义的,而不是字符串.所以要把数字转换成字符串指针,然后再传递给LoadResource之类的函数,这样才加载了资源.

  要释放资源(用LoadResource加载的)可以调用FreeResource函数把LoadResource返回的指针传递给FreeResource.

  MAKEINTRESOURCE 的作用:

  是把一个"数字形ID",转化为"字符串".但是执行前后,输入的数据的内容和长度是不变的!它只不过就是C语言里面"强制类型转换"而已.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值