我在CStatic的继承类图片控件中输出了一些文字,我使用对话框的OnPaint()输出这些文字,问题是在程序失去焦点再回来时,输出的文字不见了,对话框碰到屏幕边界时OnPaint()输出文字正常。我不使用继承类时使用本方法正常。
  请高手指点。
[email protected]

解决方案 »

  1.   

    你这个原因是因为你的窗口在次打开的时候没有对窗口里面的东西进行从绘~~~
    在OnPaint函数里面添加下面的代码         
    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();
    }