按钮上面的按钮。
我在codeguru中看到一篇文章,探讨如何在按钮上面再放一个按钮。做法非常简单,只需继承一个Cbutton类,在此类中重载PreSubclassWindow函数和OnCommand 函数,添加一个私有CButton类 m_buttonIn,在PreSubclassWindow中,调用m_buttonIn的create函数,产生按钮。这些都是好懂的。
为什么要重载OnCommand函数呢?我们经常看到在对话框类中重载OnCommand函数,处理来自子控件的消息。现在的情况其实很类似,不同的是,通常情况下的对话框换成人按钮,在mfc中按钮其实也是窗口类。所以它也能重载OnCommand函数用来处理里面的按钮按下时传来的消息。
在OnCommand中,可以自己处理按钮按下事件,也可以发送一个消息给对话框。
在按钮中加按钮不知道有什么实际用处,但我想这个问题其实可以训练对windows控件消息处理的原理掌握情况。这恐怕也是程序设计的一类普遍问题吧!
codeguru 中的文章链接为
http://www.codeguru.com/buttonctrl/double_button.shtml