在Win2000下编译正常
可是转到win98下编以后却不能显示,也没出错
这是什么原因?

解决方案 »

  1.   

    Radio控件的响应函数
    void CAnalyStrentchBendingDlg::OnLSectionRADIO() 
    {
    // TODO: Add your control notification handler code here
    UpdateData(true);
    m_nIDNum=1;
    m_chOutPut="类别:等曲率收边角材的一次拉弯\n适用范围:等曲率,角材,收边,无侧压,一次拉弯(Py+M+Pz)。\n各参数的意义:\n\tE\t弹性模量\n\tD\t应变刚指数\n\tF\t型材横截面面积\n\tH S S1 B均为型材形状参数,其意义可参看下面的图形\n\tL\t型材的长度\n\tα\t型材零件的弯角\n\tμ\t型材与模具间的摩擦系数\n\tσ0.2\t材料的屈服应力\n\tRnq\t型材回弹前内层材料的曲率半径(不是模具的半径)\n\tK\t回弹半径的修正系数\n\tPy\t预拉力\n\tΔL\t预拉伸量\n\tPz\t总拉力\n\tRnh\t型材回弹后的曲率半径\n\tΔR\t回弹半径";
    HBITMAP hbmp;
        CBitmap m_bmp;
    m_bmp.LoadBitmap(IDB_LSection_BITMAP);
    hbmp = HBITMAP(m_bmp);
    m_cPicture.SetBitmap(hbmp);
    UpdateData(false);
    AfxMessageBox("ok");}
    如果在这个响应函数的末尾添加一个AfxmessageBox("ok");
    则可以看到,图形其实已经画上了。
    但是如果不加的话,图形会被重画为白色。void CAnalyStrentchBendingDlg::OnPaint() 
    {
    HBITMAP hbmp;
        CBitmap m_bmp;
    //加载参数示意图片
    switch(m_nIDNum){
    case 1: m_bmp.LoadBitmap(IDB_LSection_BITMAP); break;
    //等曲率收边角材的一次拉弯示意图
    case 2: m_bmp.LoadBitmap(IDB_TSection_BITMAP); break;
    //等曲率收边T型材的一次拉弯示意图
    case 3: m_bmp.LoadBitmap(IDB_USection_BITMAP); break;
    //等曲率收边U型材的一次拉弯示意图
    case 4: m_bmp.LoadBitmap(IDB_LSectionF_BITMAP); break;
    //等曲率放边角材的一次拉弯示意图
    case 5: m_bmp.LoadBitmap(IDB_TSectionF_BITMAP); break;
    //等曲率放边T型材的一次拉弯示意图
    case 6: m_bmp.LoadBitmap(IDB_USectionF_BITMAP); break;
    //等曲率放边U型材的一次拉弯示意图
    case 7: m_bmp.LoadBitmap (IDB_TSectionH_BITMAP); break;
    //等曲率T型材横向的一次拉弯示意图
    case 8: m_bmp.LoadBitmap (IDB_USectionH_BITMAP); break;
    //等曲率U型材横向的一次拉弯示意图
    default: ;
    }
    hbmp = HBITMAP(m_bmp);
    m_cPicture.SetBitmap(hbmp);
    if (IsIconic())
    {
    CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle
    int cxIcon = GetSystemMetrics(SM_CXICON);
    int cyIcon = GetSystemMetrics(SM_CYICON);
    CRect rect;
    GetClientRect(&rect);
    int x = (rect.Width() - cxIcon + 1) / 2;
    int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon
    dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
    CDialog::OnPaint();
    }
    }
      

  2.   

    UpdateData(false);后面加上Invalidate();强制重绘界面试试
      

  3.   

    谢谢Kevin_qing() ,
    这样试过了,和原来一样。
    大家帮帮忙呀!