设为首页 加入收藏

TOP

功能表及其他资源(九)
2010-12-30 21:13:27 】 浏览:49549
Tags:功能 及其他 资源

ONDEMO.RES中,并且由连结程式将资源添加到ICONDEMO.EXE中以後,该资源就可以经由一个资源型态(RT_ICON)和一个识别字(IDI_ICON或101)来标识。程式可以通过呼叫LoadIcon函式取得此图示的代号:

hIcon = LoadIcon (hInstance, MAKEINTRESOURCE (IDI_ICON)) ;

请注意ICONDEMO在两个地方呼叫这个函式,一次在定义视窗类别时,另一次在视窗讯息处理程式中取得图示的代号用於绘制。LoadIcon传回HICON型态的值,它是图示的代号。

LoadIcon的第一个参数,是指出资源来自哪个档案的执行实体代号。使用hInstance表示它来自程式自己的.EXE档案。LoadIcon的第二个参数实际上被定义为指向字串的指标。待会将会看到,可以使用字串而不是用数值识别字标识资源。巨集MAKEINTRESOURCE(把整数转换成资源字串)生成指向非数字的指标,如下所示:

#define MAKEINTRESOURCE(i) (LPTSTR) ((DWORD) ((WORD) (i)))

LoadIcon知道,如果第二个参数的高字组为0,那么低字组就为图示的数值识别字。图示的识别字必须为16位元值。

本书前面的范例程式使用了预先定义的图示:

LoadIcon (NULL, IDI_APPLICATION) ;

hInstance参数被设定为NULL,因此Windows知道这是预先定义的图示。IDI_APPLICATION也在WINUSER.H中用MAKEINTRESOURCE定义:

#define IDI_APPLICATION MAKEINTRESOURCE(32512)

LoadIcon的第二个参数带来了一个有趣的问题:图示的识别字能可以为字串吗?答案是可以。方法如下:在 Developer Studio 中,在 ICONDEMO 专案的档案列表上,选择 IDONDEMO.RC 。您会看到顶端为「IconDemo Resource」的树状结构,然後是资源型态「Icon」,再下来是「IDI_ICON」。如果用滑鼠右键单击图示识别字,并从功能表上选择「 Properties 」,您就能改变ID。实际上,您可以把名称放在引号内将其更
编程开发网

首页 上一页 6 7 8 9 10 11 12 下一页 尾页 9/69/69
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇对话方块 下一篇子视窗控制项