位图绘制后拖放窗口时闪动现象的解决方案
来源:互联网 发布:设计电路板的软件 编辑:程序博客网 时间:2024/04/30 10:38
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
RECT rect;
TCHAR szHello[MAX_LOADSTRING];
LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);
static HDC hdc,hMemDC,hBmpDC;
static HBITMAP hBitmap;
static HBITMAP hMemDCBmp;
switch (message)
{
case WM_CREATE:
//读取资源位图
hBitmap=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP1) );
/*
hBmpDC=CreateCompatibleDC(hdc);
SelectObject(hBmpDC,hBitmap);
*/
return 0;
case WM_ERASEBKGND:
return 0;
case WM_SIZING:
return 0;
case WM_SIZE:
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
{
GetClientRect(hWnd,&rect);
//创建内存DC并将位图句柄选入
hBmpDC=CreateCompatibleDC(hdc);
SelectObject(hBmpDC,hBitmap);
//建立新一个内存DC和位图句柄
hMemDC=::CreateCompatibleDC(hdc);
hMemDCBmp=CreateCompatibleBitmap(hdc,rect.right-rect.left,rect.bottom-rect.top);
HGDIOBJ hBjOld=::SelectObject(hMemDC,hMemDCBmp);
//先在内存DC上进行整个的画刷填充
FillRect(hMemDC,&rect,(HBRUSH)GetStockObject(WHITE_BRUSH));
BitBlt(hMemDC,0,0,rect.right-rect.left,rect.bottom-rect.top,hBmpDC,0,0,SRCCOPY);
BitBlt(hdc,0,0,rect.right-rect.left,rect.bottom-rect.top,hMemDC,0,0,SRCCOPY);
//func(rect);
SelectObject(hMemDC,hBjOld);
DeleteObject(hMemDCBmp);
DeleteDC(hBmpDC);
DeleteDC(hMemDC);
}
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
DeleteObject(hBitmap);
/*
DeleteObject(hBitmap);
DeleteObject(hMemDCBmp);
DeleteDC(hBmpDC);
DeleteDC(hMemDC);
*/
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
- 位图绘制后拖放窗口时闪动现象的解决方案
- 消除绘制位图时的刷屏与闪烁现象
- 绘制位图的问题
- 透明位图的绘制
- 绘制位图的步骤
- 如何绘制对话框窗口背景位图
- win7 source insight 窗口闪动的解决办法
- 谈无标题窗口的拖放
- 谈无标题窗口的拖放
- VC透明位图的绘制
- GDI 位图的绘制、显示
- Android自定义View之绘制闪动的文字
- opencl体绘制结果有边框现象解决方案
- 窗口非客户区绘制位图与设计
- 重温WIN32 API ------ 窗口上绘制位图文件
- [Delphi]怎样闪动制定窗口在任务栏上的按钮?
- C# 如何让任务栏上的窗口闪动起来
- MFC dialog 窗口的 拖放和伸缩
- 参加ACM比赛所需的基础知识
- 主成分分析(Principal Component Analysis)
- Fck使用与无法上传的解决方法
- c++&c#
- 因素分析(Factor Analysis)
- 位图绘制后拖放窗口时闪动现象的解决方案
- 使用 NetBeans IDE 远程控制 Sony Ericsson 设备
- SQLServer 2K 安装重复出现挂起问题解决办法
- 使 NetBeans 开发的移动应用程序更安全
- 判别分析法(Discriminant Analysis)
- 获取tcl开发工具
- rpm基本用法
- 亲密接触WINDOWS MEDIA SERVICE 9
- 一些JAVA的基本概念