MFC中资源与ID的关联
虽然每次可以使用工具来添加一个资源,但我们使用的仅仅是一个ID号,而这个ID其实是一个数。并没有说明ID和资源有什么关联。所以我想问,资源与ID的关联在哪儿...
虽然每次可以使用工具来添加一个资源,但我们使用的仅仅是一个ID号,而这个ID其实是一个数。并没有说明ID和资源有什么关联。所以我想问,资源与ID的关联在哪儿
展开
2个回答
展开全部
用文本方式打开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 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询