我用BitBlt()将一幅位图画到了窗体上(DLG),我想在画下一幅位图的时候先清空上一幅位图的图象,怎么处理呢??还有,内存DC是不是在一个程序中 . 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 内存DC可以有多个,如:CDC Mem1;CDC Mem2;Mem1.CreateCompatibleDC(NULL);// NULL 表示默认地以screen兼容Mem2.CreateCompatibleDC(NULL);但用后最好删了如果你先前是BitBlt()到Dialog上的话,你可以先响应WM_ERASEBKGND,然后在你想"清空上一幅位图的图象...."的时候调用OnEraseBkgnd(pDc)(pDc--Dialog的DC指针) ,或者你直接SendMessage(hWnd,WM_ERASEBKGND....) (hWnd--Dialog handle); 个方法主要是让Windows 帮你"清空",当然你可以自已清空,CBitmap bitmap;bitmap.CreateCompatibleBitmap(pDc,iWidth,iHeight); //(pDc--Dialog的DC指针,后面的两个是位图的宽与高,可以适当取一个直)CDC Mem;Mem.CreateCompatibleDC(NULL);Mem.SelectObject(&bitmap);pDc->BitBlt(0,0,iWidth,iHeight,&Mem,iWidth2,iHeight,SRCCOPY); // 可把一个空位图贴上去当然了,也可以bitmap.LoadBitmap(IDB_XXX); 把特定的位图Load 入位图类对像,这样就可以用一个特定的位图"清空...." 什么叫清空?你直接往上画图,不就覆盖了吗?内存DC就是DC对象变量,随便你用多少个,只要系统受得住。 请教TransmitFile的用法? TRACE宏没效果~~~ 如何响应动态创建的webbrowser的newWindow或其他消息? c++结构体类型文件操作 请问这是什么错误,该怎么解决? 如何使自己的AcitveX不受MediaPlayer版本的影响? 关于TRACE宏 高薪求上海的VC高手 如果ShellExecute()不可以,还有什么办法么?请举例。 一个简单的问题, RasDial函数的返回值和GetLastError函数的返回值。 初次使用VC++。NET 请求帮助.20分。
如:
CDC Mem1;
CDC Mem2;
Mem1.CreateCompatibleDC(NULL);// NULL 表示默认地以screen兼容
Mem2.CreateCompatibleDC(NULL);
但用后最好删了如果你先前是BitBlt()到Dialog上的话,你可以先响应WM_ERASEBKGND,然后在你想"清空上一幅位图的图象...."的时候调用OnEraseBkgnd(pDc)(pDc--Dialog的DC指针) ,或者你直接SendMessage(hWnd,WM_ERASEBKGND....) (hWnd--Dialog handle); 个方法主要是让Windows 帮你"清空",当然你可以自已清空,
CBitmap bitmap;
bitmap.CreateCompatibleBitmap(pDc,iWidth,iHeight); //(pDc--Dialog的DC指针,后面的两个是位图的宽与高,可以适当取一个直)
CDC Mem;
Mem.CreateCompatibleDC(NULL);
Mem.SelectObject(&bitmap);
pDc->BitBlt(0,0,iWidth,iHeight,&Mem,iWidth2,iHeight,SRCCOPY); // 可把一个空位图贴上去当然了,也可以bitmap.LoadBitmap(IDB_XXX); 把特定的位图Load 入位图类对像,这样就可以用一个特定的位图"清空...."
内存DC就是DC对象变量,随便你用多少个,只要系统受得住。