1.首先我的窗口是一个主窗口,然后子窗口是一个单键,第一次DOMODE以后不关闭,点击父窗口无响应,第二次我刷新子窗口数据,但是点击父窗口就有反映了,为什么呢?
2.WIN7下,我的父窗口最小化以后DOMODE可以在屏幕上弹出,但是在XP下就不行,这是为什么呢?
麻烦高手们!

解决方案 »

  1.   

    if (::IsWindow(CTradeDlgS::Instance().GetSafeHwnd()))
    {
    CTradeDlgS::Instance().ReplacementDlg();
    return;
    }void CTradeDlg::ReplacementDlg()
    {
    // 重置窗口
    m_vcMyShowProps.clear();
    m_vcotherTradeProps.clear();
    m_vcProps.clear();
    m_vcTradeProps.clear();
    m_ctrlMyProps.ResetContent();
    m_iMoneyEdit = 0;
    m_iGoldEdit = 0;
    m_iMoneyList = 0;
    m_iGoldList = 0;
    m_iOtherPropsMoney = 0;
    m_iOtherPropsGold = 0;
    m_iKernelMoney = 0;             
    m_iKernelGold = 0; 
    m_bOtherConfirm = FALSE;
    m_bMyLock = FALSE;
    m_bOtherLock = FALSE;
    m_bBtnMoney = TRUE;
    m_bBtnGold = TRUE;
    m_ctrlMyProps.SetCurSel(-1);
    m_ctrlMyTradeProps.SetCurSel(-1);

    GetDlgItem(IDC_TRADE_LOCK_BUTTON)->EnableWindow(TRUE);
    GetDlgItem(IDC_TRADE_MONEY_BUTTON)->EnableWindow(TRUE);
    GetDlgItem(IDC_TRADE_GOLD_BUTTON)->EnableWindow(TRUE);
    GetDlgItem(IDC_TRADE_MONEY_EDIT)->EnableWindow(TRUE);
    GetDlgItem(IDC_TRADE_GOLD_EDIT)->EnableWindow(TRUE);
    GetDlgItem(IDC_TRADE_MY_GOODS_LIST)->EnableWindow(TRUE);
    GetDlgItem(IDC_TRADE_CONFIRM_BUTTON)->EnableWindow(FALSE);
    GetDlgItem(IDC_TRADE_KNAPSACK_GOODS_LIST)->EnableWindow(TRUE);
    GetDlgItem(IDC_TRADE_MONEY_EDIT)->SetWindowText(_T("0"));
    GetDlgItem(IDC_TRADE_GOLD_EDIT)->SetWindowText(_T("0"));
    CString strPibOtherName;
    strPibOtherName.Format(LANG(_T("trade.item.text")), m_pibOther.strNickName.c_str());
    dsSetDrawItemValue(GetSafeHwnd(), _T("otheritem.prompt"), strPibOtherName, FALSE);
    strPibOtherName.Format(LANG(_T("trade.item.text")), m_pibMy.strNickName.c_str());
    dsSetDrawItemValue(GetSafeHwnd(), _T("myitem.prompt"), strPibOtherName, FALSE);
    InitLanguage();
    InitPropsData();
    InitRichEdit();
    InfoSetSelfProps();
    InitJudgePlatform();
    UpdateData();
    m_ctrlMyTradeProps.ResetContent();
    m_ctrlOthertradeProps.ResetContent();
    }
    就重置了下数据就可以关闭父窗口了!
      

  2.   

    第二个问题是,在父窗口最下化的时候 在WIN7下 DOMODE就直接在屏幕上弹出来,但是在XP下也就不会弹出来,也是最小化的!