SubClassDlgItem(...) 是个什么东东?? 就是通过对话框上资源ID得到一个控件的窗口类,MSDN上有例子 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SubClass Dialog 上面的一个控件呀!SubClass 某个控件后,其原来的 WindowProc 替换成你自己写的 CYourCWndClass 的 WindowProc,这样你就可以处理这个控件的所有消息了;用 ClassWizard 维护自己的 CYourCWndClass 就可以了。呵呵,很好用的;MFC 在这方面的封装简直是(赞美之词略去 8262872318 字)。 请先了解以下超类和子类的概念,在MFC中除了SubClassDlgItem外还有SubclassWindow函数用来执行同样的功能。在与某个控件ID关联起来之后,所有该控件的消息将会有该类来响应。通常使用过程如下一、从希望Subclass的控件派生一个类例如从CEdit->CMyEdit;二、在CMyEdit中完成希望处理的消息,例如OnChar等;三、在对话框类中定义一个CMyEdit类的成员变量m_myEdit;四、在Dialog的OnInitDialog中加入m_myEdit(IDC_EDIT, this);这样当在IDC_EDIT上发生OnChar时,将会调用CMyEdit中的OnChar 怎么贴子还在呀?我也来凑个热闹。要说SubClassDlgItem可厉害了,它能让EDIT控件在你按A的时侯显示B,而按B的时侯显示A。怎么弄?其实上面的老兄已经说的差不多了。赶快,送分吧。都解释的这么清了。 补充一下,用一个窗口过程替换另一个过程的行为叫SUBCLASSING,这是WINDOWS意义上的派生子类,与面向对象语言的派生子类是完全不同的概念。SubClassDlgItem让对话框内指定子控制自己的窗口过程替代默认窗口过程,以拦截消息。在VC++中,DoDataExchange函数中的DDX_Control之类的函数会调用SubClassDlgItem完成窗口子类化,这样控件自己就能处理消息了。 高手:小弟我想获取QQ2010或者更高版本的公钥和私钥 编译PWLIB的问题 如何自己绘制滚动条的颜色? 研究DXF文件的来聚聚 请详细说下 窗口最大化,最小化时,一般大小时,需要那些步骤和调用那些函数? 帖子沉了,再次请教socket实现http通信的问题,两个帖子一并给分 大家讨论讨论吧! 怎样才能让一个类出现在ClassWizard里面... 怎么用C实现给图像加噪声 均匀噪声,瑞利噪声 VC界面--如何让视图的上半部在滚动时保持不动 关于监视程序的问题 how to use function ScrollWindow(...)
SubClass 某个控件后,其原来的 WindowProc 替换成你自己写的 CYourCWndClass 的 WindowProc,这样你就可以处理这个控件的所有消息了;用 ClassWizard 维护自己的 CYourCWndClass 就可以了。
呵呵,很好用的;MFC 在这方面的封装简直是(赞美之词略去 8262872318 字)。
一、从希望Subclass的控件派生一个类例如从CEdit->CMyEdit;
二、在CMyEdit中完成希望处理的消息,例如OnChar等;
三、在对话框类中定义一个CMyEdit类的成员变量m_myEdit;
四、在Dialog的OnInitDialog中加入m_myEdit(IDC_EDIT, this);
这样当在IDC_EDIT上发生OnChar时,将会调用CMyEdit中的OnChar
要说SubClassDlgItem可厉害了,
它能让EDIT控件在你按A的时侯显示B,而按B的时侯显示A。
怎么弄?其实上面的老兄已经说的差不多了。
赶快,送分吧。都解释的这么清了。
在VC++中,DoDataExchange函数中的DDX_Control之类的函数会调用SubClassDlgItem完成窗口子类化,这样控件自己就能处理消息了。