1,有二个菜单A B,点击它们均弹出一个DIALOG(些DIALOG上有一个OK,一个CANCEL 按钮)。点击A菜单则为如上的OK和CANCEL按钮,现在想点击B此按钮上的则想显示‘确定’和‘取消’的字样,请问怎么搞?
2,在上面的DIALOG上添加了一个combo Box,写了二个Data选项在里面,如何使弹出的DIALOG上的此combo Box不能被输入,而只能选择已经添加的选项。谢谢高手指教!!

解决方案 »

  1.   

    第二个问题已经解决,选择‘droplist'即可。第一个还不知道。
      

  2.   

    GetDlgItem(IDOK)->SetWindowText("确定");
    修改按钮的标题
      

  3.   

    Cyourdlg dlg;
    dlg.SetDlgItemText(IDOK, "确定");
    dlg.SetDlgItemText(IDCANCEL, "取消");
    dlg.DoModal();
      

  4.   

    上面代码有误,留下email,传给你
      

  5.   

    这样做是有错的,因为dlg还没有domodal或者唱喏啊特create,不能SetDlgItemText,你可以给你的dialog一个构造函数,到时传递一个参数进去,如CYourDialog dlg(FALSE),在你dlg的内部根据这个传递的参数来SetDlgItemText就可以了
      

  6.   

    问题1解决办法:
    在你的对话框类中添加 int m_iShowType;
    重载构造函数并添加以下代码:
    if (str.Compare("En") == 0)
    {
        m_iShowType = 1;
    }
    else if (str.Compare("Cn") == 0)
    {
        m_iShowType = 2;
    }在初始化函数中添加:
    if (m_iShowType == 1)
    {
        ((CButton*)GetDlgItem(IDOK))->SetWindowText("OK");
        ((CButton*)GetDlgItem(IDCANCEL))->SetWindowText("Cancel");
    }
    else if (m_iShowType == 2)
    {
        ((CButton*)GetDlgItem(IDOK))->SetWindowText("确定");
        ((CButton*)GetDlgItem(IDCANCEL))->SetWindowText("取消");
    }