您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> VC/MFC >> 拖动界面到屏幕外刷新的问题

拖动界面到屏幕外刷新的问题

来源:网络整理     时间:2016/7/2 21:56:23     关键词:

关于网友提出的“ 拖动界面到屏幕外刷新的问题”问题疑问,本网通过在网上对“ 拖动界面到屏幕外刷新的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 拖动界面到屏幕外刷新的问题
描述:

本帖最后由 lvge5574 于 2013-07-09 18:24:53 编辑

static局部刷新

如题,我把mfc程序界面左右拖动到屏幕外,所有控件都刷没了,但是button什么的可点。
上下拖动到屏幕外时,会自动返回,且框体顶部贴着屏幕顶部,
但是拖动时没有到屏幕外的部分,给刷没了。
表现为,上半部分的控件能看见,但下半部分却没了。
最小化后却全刷好了。。。。
求教,怎么检测?
解决方案1:

void CLaunchDlg::RefreshControl(UINT uCtllD)
{
    CRect rc;
    GetDlgItem(uCtllD)->GetWindowRect(&rc);
    ScreenToClient(&rc);    //坐标系转换
    RedrawWindow(rc); 
}

解决方案2:

 {
        CClientDC dc(this);  -》 CPaintDC dc(this);
        CDC memDC;  
        memDC.CreateCompatibleDC(&dc);  
  
        CBitmap bmp;  
        bmp.LoadBitmap(IDB_BITMAP1);  
        CBitmap *pOldBmp;  
        pOldBmp = memDC.SelectObject(&bmp);  
  
        BITMAP bm;  
        bmp.GetBitmap(&bm);  
  
        dc.BitBlt(0, 0, bm.bmWidth, bm.bmHeight, &memDC, 0, 0, SRCCOPY);  
  
        memDC.SelectObject(pOldBmp);  
        bmp.DeleteObject();
 
    //    CDialogEx::OnPaint();
    }


以上介绍了“ 拖动界面到屏幕外刷新的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2223484.html

相关图片

相关文章