我就是想通过发送消息的方式模拟点击 CheckBox 控件时的效果,因为特殊的需要只能用发送消息的方式实现。我试了下面的方法:SendMessage( hParWnd, WM_COMMAND, MAKEWPARAM(checkboxID, BN_CLICKED), (LPARAM)hCheckboxWnd );但奇怪的是上面的代码没有任何效果。如果是Button控件则上面的代码有效,能够模拟Button的点击,不知道为什么换成 CheckBox 就不行了。我就是想通过发送一个消息,能让 CheckBox 的check状态改变,并且自动执行该 CheckBox 的BN_CLICKED消息处理函数。谢谢!

解决方案 »

  1.   

    SendMessage(hCheckboxWnd, BM_CLICK, 0, 0);
      

  2.   


    BN_CLICKED 属于控件的通知消息。
    告诉按钮的父窗口,按钮被单击了;跟按钮是否被按了没有关系。所以你应该返送的消息是:      BM_CLICK
    详情查 MSDN
      

  3.   

    对,就是发送 BM_CLICK 消息! 另外,那如果是让一个 CComboBox 选中某一项发送什么消息呢?
      

  4.   

    CB_SETCURSEL  消息不行! CComboBox 中的选项是变了,但并没有执行 OnSelChange 事件。