在一个对话框上有一些按钮,每点其中一个按钮的时候就在被点的按钮上出现一个焦点虚线框先前点的消失,现在比如把10个按钮分成两部分,每部分包括5个按钮,想要做的就是两部分按钮让他在点击时,一部分上的按钮不影响另一部分的按钮(就是我点其中一部分按钮时被点按钮出现一个焦点虚线框,我紧接着点另一部分的按钮,这时候先前被点的按钮焦点框仍存在,而当前被点的也出现)

解决方案 »

  1.   

    单击一个按钮时,向另一个发送消息::PostMessage(GetDlgItem(button)->GetSafeHwnd(),WM_SETFOCUS,0,0);这样可以实现两个焦点,记得改变时,去掉焦点。。::PostMessage(GetDlgItem(IDOK)->GetSafeHwnd(),WM_KILLFOCUS,0,0);
      

  2.   

    单击一个按钮时,向另一个发送消息::PostMessage(GetDlgItem(button)->GetSafeHwnd(),WM_SETFOCUS,0,0); 
    谢谢你,不过这样写的话点一个向另一个发送消息时,这里的另一个应该指的就是我上次点的按钮吧,我上次点的是不确定的不一定是哪个按钮,那这里的GetDlgItem(button)是不有点不能实现呢?
      

  3.   

    WM_SETFOCUS message
    Sent to a window after it has gained the keyboard focus.ParameterswParam
    A handle to the window that has lost the keyboard focus. This parameter can be NULL.so,处理该消息~?但是每个按钮组最多只能有一个按钮有虚框吧。如果每个按钮组放到不同dlg呢,