《Visual C++从入门到精通》
发表在C语言图书答疑 2012-11-17
是否精华
版块置顶:
老师,您好:
《Visual C++从入门到精通》2008年第1版,第12章习题1,在光盘上是:
E:\TM\sl\12\9\DigitStatic ,其中文件 DigitStatic.cpp中第92行:

SubclassDlgitem(uID, pParent);

我不明白此语句的作用,就自己重新编写了个程序,可不能执行。
步骤如下:
(1)创建一个基本对话框应用程序 abc;
(2)向对话框中添加一个静态文本控件;
(3)改变此静态文本控件的 ID为:IDC_MY_STATIC,并为静态文本控件关联变量 m_abc;
(4)在应用程序的初始化函数 OnInitDialog()中,添加一个语句:

m_abc.SubclassDlgitem(IDC_MY_STATIC, this);

程序编译通过了,可运行 abc.exe 时,却出现错误:Debug Assertion Failed !
只能终止。
把以上语句改成为:SubclassDlgitem(IDC_MY_STATIC, this); 结果还是一样。
我用“调试”查看了一遍,每当走到这条语句就出错。
请教老师,SubclassDlgitem()函数应该怎么运用,是否另外要用include语句包括一些
其他头文件? SubclassDlgitem()函数的作用是什么?
分享到:
精彩评论 1
过冬的松鼠
学分:0 LV1
TA的每日心情
Q
2021-01-03 22:18:14
2012-11-19
沙发
读者朋友你好。此函数的作用是把一个[strong]控件[/strong]关联到一个[strong]窗口[/strong]上,使这个控件也加入到消息路由当中。这样做的好处是这个控件可以接收并相应各种消息,一般在派生出的控件中使用较为广泛。如果在对话框上添加了一个控件(通过资源视图),此时这个控件已经和对话框相关联,执行时会报错。本章的内容是使用派生类继承各个控件(自定义控件),当完成控件的定义后,将派生控件通过此函数关联。
希望能够帮助到您。 
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照