我创建了一个对话框类CSplitFourScreen,然后用这个类创建一个数组对象CSplitFourScreen mySplitFourscreen[4],这个四个对象通过creat动态创建,现在主对话框移动后,这四个对话框的图像显示就没了,我知道用OnPaint,但是不知道怎么写,我的显示图像程序是放在void CSplitFourScreen::ShowFourScreenAlarmPicture()
{
CRect rectOutput;
GetWindowRect(&rectOutput);
HDC hdc = ::GetDC(NULL);
SetStretchBltMode(hdc,COLORONCOLOR);
image1.Draw(hdc,rectOutput.left,rectOutput.top,rectOutput.Width(),rectOutput.Height());
},
然后用mySplitFourscreen[0].ShowFourScreenAlarmPicture(),mySplitFourscreen[1].ShowFourScreenAlarmPicture()这么调用,现在Onpaint究竟该怎么写啊

解决方案 »

  1.   

    CRect rectOutput;
    GetWindowRect(&rectOutput);
    HDC hdc = ::GetDC(NULL);
    SetStretchBltMode(hdc,COLORONCOLOR);
    image1.Draw(hdc,rectOutput.left,rectOutput.top,rectOutput.Width(),rectOutput.Height());这些放在 各个view的OnDraw里面
      

  2.   

    对话框类CSplitFourScreen重写OnPaint函数:
    CSplitFourScreen::OnPaint()
    {
       CPaintDC dc(this);
       CRect rectOutput;
       GetWindowRect(&rectOutput);
       SetStretchBltMode(dc.m_hDC,COLORONCOLOR);
       image1.Draw(dc.m_hDC,rectOutput.left,rectOutput.top,rectOutput.Width(),rectOutput.Height());}
      

  3.   

    CSplitFourScreen mySplitFourscreen[4]
    这个不要定义为局部变量!