您现在的位置: 爱51代码网 >> 范文 >> 文章正文
MFC拖动界面到屏幕外刷新的问题

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

我把mfc程序界面左右拖动到屏幕外,所有控件都刷没了,但是button什么的可点。
上下拖动到屏幕外时,会自动返回,且框体顶部贴着屏幕顶部,
但是拖动时没有到屏幕外的部分,给刷没了。
表现为,上半部分的控件能看见,但下半部分却没了。
最小化后却全刷好了。。。。
{
        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();
    }

最后那句CDialogEx::OnPaint();不用注释也可以的。

另外再请教一个问题,还是这里的代码。
我在界面上有static text,然后在OnCtlColor里设置了背景透明。所以,就出现了文字重叠的情况。
之前我是写了一个函数,传进控件的id,进行局部刷新。在没有实现不规则背景框时,是能起作用的。
但改了后,局部刷新没用了,文字一直在重叠。。。求指错

C/C++ code?123456789101112131415161718192021222324252627282930 void CLaunchDlg::RefreshControl(UINT uCtllD) {     CRect rc;     //GetDlgItem(uCtllD)->GetWindowRect(&rc);     //CWnd* cw = GetParent();     //cw->ScreenToClient(&rc);    //坐标系转换     //cw->InvalidateRect(&rc, false);          GetDlgItem(uCtllD)->GetClientRect(&rc);       InvalidateRect(&rc, false);    //不擦除背景     UpdateWindow();           //RedrawWindow(rc);  //与上面两句功能相同 }   HBRUSH CLaunchDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {     HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);       // TODO:  在此更改 DC 的任何特性     if (nCtlColor == CTLCOLOR_STATIC)     {         pDC->SetBkMode(TRANSPARENT);    //设置背景透明,解决了刷新问题,则改回透明         //pDC->SetBkColor(RGB(0,0,0));   //设置背景为黑色,防止设置透明后上次的文本不清除,临时解决方案,不可行         pDC->SetTextColor(RGB(255,255,255));  //字体颜色设置为白色         hbr = (HBRUSH)GetStockO

[1] [2] 下一页

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    linux上运行system函数时,print
    Failed to open eth0
    android手机无法与eclipse或电脑
    C/C++洗牌算法源代码
    servlet技术实现用户名唯一的验证
    E-business suite system servic
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    undefined reference timer_crea
    Failed to open eth0
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    sharepoint 2010 获取用户信息Us
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    vc如何实现桌面工作区域设定
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |