我要做一组`按钮,有按下和弹起2种状态,5个自成一组,时刻有一个是选中状态.按钮本身要显示图片.
我在radio的drawitem函数如何获取按钮是否选中呢,用this->getcheck()不行的.后来我用lpDrawItemStruct->itemAction,或者lpDrawItemStruct->itemState是可以. 但是我界面上还有其它radio.按别的radio这2个属性也会改变,即使给别的radio分了组,设了group属性,不知道如何是好,求解~~

解决方案 »

  1.   

    重载BN_CLICKED消息,消息注册为
    BEGIN_MESSAGE_MAP()
    ON_CONTROL_RANGE(BN_CLICKED,IDC_RADIO_PARA1,IDC_RADIO_PARA6,OnParaChooseClicked)
    END_MESSAGE_MAP()注意:IDC_RADIO_PARA1到IDC_RADIO_PARA6的ID是连续的。在消息处理函数中采用:
    void CMarkStep2::OnParaChooseClicked(unsigned int nCmd)
    {
    switch(nCmd)
    {
    case IDC_RADIO_PARA1:
    //pMarkWizardDlg->mMarkData.type = 0;    //添加响应的操作
    break;
                    。 default:
    break;
    }
    }
      

  2.   

    我试了做个变量来控制,还真发现问题了!就是drawitem函数发生在onclick之前,后来我采用PreTranslateMessage,问题依然,我想问问你,你是怎么做的呢?