VC中的资源ID是什么?怎么样定义的?怎么样添加资源ID?举个简单易懂的例子...谢谢啦!

VC中的资源ID是什么?怎么样定义的?怎么样添加资源ID?举个简单易懂的例子...谢谢啦!,第1张

资源ID 一般在resource.h 中定义, 这个ID是为了方便记忆和书写的一个宏定义,该ID实际指向一个数值,该数值代表的是资源中的对象的关联项。也可以说这个数值就代表资源中对应的对象。

资源ID一般会和RC 脚本关联在一起使用, 具体作用会和不同的资源类型不同,有所不同。 比如是位图对象的资源ID,那么你可以通过该ID获取到位图的实际数据或相应的流信息。 如果是菜单对象,那么其ID对应的就是,菜单相关的内容,可以通过该ID来加载菜单,同时调用方相应的WM_COMMAND消息值也与该ID进行匹配。 等等

至于字符串资源ID的作用很简单, 就是利用一个数字指向资源中的一个实际字符串。 其应用最多的情况可能就是多语言的项目中, 可以为不同的语言定义不同的字串,既不需要修改代码,直接替换资源就能实现多语种应用的实现。

如果你的工程中已经有

资源ID头文件和资源文件,就只能手动添加了:

1.选你的资源文件,一般为

xxx.rc,鼠标点击右键,选“打开方式...”->对话框中选“源代码(文本)编辑器

2.将资源描述文件拷入其中,保存。

3.打开

resources.h文件,将资源ID文件拷入其中

就行了,注意ID标识不要冲突,ID数字也不能冲突,如有冲突手动修改即可http://zhidao.baidu.com/question/36799154.html?fr=qrl3

第一步:定义消息。

#define WM_MY_MESSAGE (WM_USER+100)

第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT

LRESULT C Dlg::OnMyMsg(WPARAM wParam, LPARAM lParam)

{

return 0

}

第三步:在类头文件的AFX_MSG块中说明消息处理函数。

virtual BOOL OnInitDialog()

afx_msg void OnSysCommand(UINT nID, LPARAM lParam)

afx_msg void OnPaint()

afx_msg HCURSOR OnQueryDragIcon()

afx_msg LRESULT OnMyMsg(WPARAM, LPARAM) //复制这里

DECLARE_MESSAGE_MAP()

第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数中。

BEGIN_MESSAGE_MAP(C自动填表Dlg, CDialog)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_MESSAGE(WM_MY_MESSAGE, OnMyMsg)//复制这里

//}}AFX_MSG_MAP

END_MESSAGE_MAP()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11662047.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存