• MFC 多窗口通信时,使用RadioButton和Button时冲突问题


    最近项目需要我们实现在两个窗口间进行通信,其中有个小功能如图所示:

    当我点击GDIProgram中的Button1时,会更新Dialog的Radio1和Radio2的状态。

    Dialog中的Radio1和Radio2是一组单选按钮,Dialog中的Button1和Button2的单击事件都不会去更新Radio1和Radio2的状态。

    当我执行以下操作步骤时

    1)鼠标点击Radio1

    2)点击GDIProgram中的Button1,此时会更新Dialog中单选按钮的状态,Radio2被选中

    3)点击Dialog中的Button1时,Dialog中的单选按钮又被更新成了Radio1。(莫名其妙!!!!)

    这种点击了一个Button却触发了Radio和Button的两个单击事件奇怪现象,百思不得其解。

    调查了两天,还是没有找到原因。

    但是我最终通过重绘Button解决了这个问题。

    具体方法:

         1)在CButton的OnLButtonUp函数中发送自定义消息MY_MSG,并将当前控件ID发送出来。

         2)在父窗口中响应消息MY_MSG,根据不同的ID使用不同响应函数,替代原有的ON_BN_CLICKED消息响应。

  • 相关阅读:
    Java 开发问题
    include和request
    VC++6.0怎么显示行号
    快速排序
    如何解决虚拟机安装centos无法全屏显示问题!
    详解.NET 4.0新特性Dynamic相关知识
    Action C#
    windbg不常用命令2
    底层枚举 网络连接时的结构
    netbios 和smb
  • 原文地址:https://www.cnblogs.com/merlinzjl/p/8343592.html
Copyright © 2020-2023  润新知