Mfc 我可以将CBitmapButton附加到父CWnd而不是父CDialog吗?
我继承了一个项目(最初是为Win95编写的!),它有许多按钮连接到从CWnd派生的父窗口。按钮本身是从CWnd派生的用户定义类,因此它们不是“真正的”按钮,而是由无数行代码定义的小窗口,并且有大量的显示问题,我已经苦思冥想了几个星期,看不到解决方案 前几天我们得出结论,CBitmapButton看起来是个不错的选择。看起来很简单,为不同的按钮状态定义4个位图。我所需要的就是点击BN_来启动一个处理程序,我将是金色的 在摆弄了一会儿之后,设置了一个按钮和一些位图,我能够显示CBITMAP按钮;看起来不太好,但我能解决。。。现在的问题是,我试图设置一个消息映射来捕获BN_CLICKED消息,但由于父窗口是从CWnd而不是CDialog派生的,因此设置消息映射时出现语法错误。反复阅读有关该主题的MSDN,您似乎只能将CBitmapButton连接到CDialog派生类。这对我来说似乎很奇怪——我只想要一个按钮,它应该能够将一个简单的“我被点击”发送给它所连接的任何家长,但显然不是注定要发生的Mfc 我可以将CBitmapButton附加到父CWnd而不是父CDialog吗?,mfc,cwnd,cbitmap,Mfc,Cwnd,Cbitmap,我继承了一个项目(最初是为Win95编写的!),它有许多按钮连接到从CWnd派生的父窗口。按钮本身是从CWnd派生的用户定义类,因此它们不是“真正的”按钮,而是由无数行代码定义的小窗口,并且有大量的显示问题,我已经苦思冥想了几个星期,看不到解决方案 前几天我们得出结论,CBitmapButton看起来是个不错的选择。看起来很简单,为不同的按钮状态定义4个位图。我所需要的就是点击BN_来启动一个处理程序,我将是金色的 在摆弄了一会儿之后,设置了一个按钮和一些位图,我能够显示CBITMAP按钮;看起
那么,是否有人成功地将CBitmapButton附加到CWnd派生的父级;如果是这样的话,如何建立一个信息地图来处理这些事情呢?或者,由于CBitmapButton和CButton似乎需要CDialog作为父窗口,您将使用什么方法来设置一个与CWnd父窗口一起工作的button类?不,它不要求父窗口始终是CDiaglot,您甚至可以从CWnd继承并在其中创建一个CButton/CBitmapButton
您可以覆盖
CWnd
派生类中的OnCommand
消息,并点击按钮单击事件。发现我试图将按钮附加到的父窗口(最终从CWnd派生)运行不正常,正在拦截针对该按钮的消息。我给了按钮一个父窗口,允许传递消息(也是一个CWnd派生,但没有消息垃圾),按钮的性能与预期一样。我确实按照建议重写了OnCommand。谢谢