MFC中资源与ID的关联

虽然每次可以使用工具来添加一个资源,但我们使用的仅仅是一个ID号,而这个ID其实是一个数。并没有说明ID和资源有什么关联。所以我想问,资源与ID的关联在哪儿... 虽然每次可以使用工具来添加一个资源,但我们使用的仅仅是一个ID号,而这个ID其实是一个数。并没有说明ID和资源有什么关联。所以我想问,资源与ID的关联在哪儿 展开
 我来答
bhtzu
2014-07-30 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4153万
展开全部

用文本方式打开rc文件,可以看到如下格式的dialog对话框资源声明:

IDD_DIALOG1 DIALOG DISCARDABLE  0, 0, 271, 213
STYLE WS_CAPTION | WS_VSCROLL | WS_SYSMENU | WS_THICKFRAME
FONT 10, "System"
BEGIN
    PUSHBUTTON      "Button1",IDC_BUTTON1,206,44,50,14
    EDITTEXT        IDC_EDIT1,138,162,69,14,ES_AUTOHSCROLL
    PUSHBUTTON      "Button3",IDC_BUTTON3,206,90,50,16
    DEFPUSHBUTTON   "OK",IDOK,206,7,50,14
    PUSHBUTTON      "Cancel",IDCANCEL,206,24,50,14
    CONTROL         "Radio1",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON | 
                    WS_GROUP,27,17,39,10
    CONTROL         "Radio2",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,26,35,39,
                    10
    PUSHBUTTON      "Button2",IDC_BUTTON2,206,65,50,14
    EDITTEXT        IDC_EDIT2,22,108,19,12,ES_AUTOHSCROLL
    CONTROL         "Slider1",IDC_SLIDER1,"msctls_trackbar32",TBS_BOTH | 
                    TBS_NOTICKS | WS_TABSTOP,33,100,100,15
    COMBOBOX        IDC_COMBO1,14,140,41,43,CBS_DROPDOWN | 
                    CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | 
                    WS_TABSTOP
    CONTROL         "",IDC_STATIC11,"Static",SS_GRAYFRAME,205,106,51,56
    LISTBOX         IDC_LIST1,57,130,73,69,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | 
                    WS_TABSTOP
    CONTROL         "Check1",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | 
                    BS_PUSHLIKE | WS_TABSTOP,44,65,40,10
    CONTROL         "Check2",IDC_IEANC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
                    127,67,40,10
    PUSHBUTTON      "Move",IDC_BUTTON4,112,7,50,14
    EDITTEXT        IDC_EDIT3,137,90,63,60,ES_MULTILINE | ES_AUTOVSCROLL | 
                    ES_WANTRETURN
    LTEXT           "Static",IDC_STATIC2,16,165,19,27
END

从这里,我们可以看到,每个控件的属性定义。

而真正的关联,实际上是MFC调用资源文件(.rc),读取每个控件的属相,并用CreateWindow或相关控件创建函数的来完成的,关联实际是在创建中产生。

具体调用rc文件创建界面(并产生ID关联)的代码,被MFC封装了,但从每个控件的创建函数(包括构造函数)中,可以看到资源ID和控件进行了关联,或者说,ID在创建函数中被赋值给了资源对应的控件。

Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
jiangsanhuo
2014-07-30 · TA获得超过168个赞
知道小有建树答主
回答量:291
采纳率:81%
帮助的人:173万
展开全部
在.rc文件里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式