如何使刷新时画面不闪烁
来源:互联网 发布:下载word办公软件 编辑:程序博客网 时间:2024/04/26 07:31
创建位图内存,在内存里放置绘画数据,然后显示内存。为了避免内存在刷新时不断创建,所以内存只存窗口大小变化时创建。
HDC hMemDC=0;//global variat
WM_PAINT:
if(hMemDC==0)
CreateMemDC(Rect,hDC,hMemDC); //Rect为窗体大小
DrawBack(hDC,Rect,hMemDC);
WM_SIZE:
GetClientRect(hWnd,&Rect);
if(Rect.right==0||Rect.bottom==0)
return 0;
if(hMemDC!=0)
ReleaseMemDC(hWnd,hMemDC);
hDC=GetDC(hWnd);
CreateMemDC(Rect,hDC,hMemDC);
DeleteDC(hDC);
WM_DESTROY:
ReleaseMemDC(hWnd,hMemDC);
/*名称:CreateMemDC
功能:创建显存hMemDC
参数:hDC
*/
int CreateMemDC(RECT Rect,HDC hDC,HDC &hMemDC)
{
hMemDC=CreateCompatibleDC(hDC);
hMembitmap=CreateCompatibleBitmap(hDC,Rect.right-Rect.left,Rect.bottom-Rect.top);
SelectObject(hMemDC,hMembitmap);
BitBlt(hMemDC,Rect.left,Rect.top,Rect.right-Rect.left,Rect.bottom-Rect.top,hDC,0,0,SRCCOPY);
return 1;
}
/*名称:ReleaseMemDC
功能:释放显存hMemDC
参数:释放显存hMemDC
*/
int ReleaseMemDC(HWND hWnd,HDC &hMemDC)
{
DeleteObject(hMembitmap);
DeleteObject(hMemDC);
return 1;
}
/*名称:DrawBack
功能:画波形
参数:HDC,显存hMemDC数据
*/
int DrawBack(HDC hDC,RECT Rect,HDC hMemDC)
{
TextOut(hMemDC,0,0,”hello”,5);//在内存写数据
BitBlt(hDC,Rect.left,Rect.top,Rect.right,Rect.bottom,hMemDC,0,0,SRCCOPY);//将hMemDC数据显示在hDC上。
Return 1;
}
- 如何使刷新时画面不闪烁
- 如何使tableLayoutPanel 不闪烁
- 如何使tableLayoutPanel 不闪烁
- 谁说WPF的画面不闪烁?
- 验证输入是否重复 不刷新画面
- vnc查看画面不刷新的问题
- 定时不闪烁刷新图片,不刷新页面
- 启动画面加载时 闪烁点 实现
- 图表控件--MSChart(3)不闪烁刷新
- 图表控件--MSChart(3)不闪烁刷新
- C#——如何使tableLayoutPanel 不闪烁
- 如何在改变鼠标光标时不闪烁
- 不使用双缓冲 移动图片时 如何减少闪烁
- ogre mfc刷新时闪烁
- 如何避免treeview控件闪烁刷新
- 刷新ListView刷新时的闪烁问题
- 针对java画面闪烁
- WebPart拖动时如何实现不刷新?
- Oracle Read Consistency
- Sizing an UNDO tablespace
- Oracle pseudo column RowID
- 几种Apache CGI模块性能简单分析比较
- 关于MS SQL Server中DATETIME类型数据的处理
- 如何使刷新时画面不闪烁
- Javascript 插入 UBB标签 到表单 文本域 函数 及演示 By shawl.qiu
- 在进行Forms身份验证时如何将此信息映射到GenericPrincipal 和 FormsIdentity 对象?
- Reserved words comparision
- 精确到1ms的定时器
- Java Language Keywords
- C语言的数组-二维(22)
- URL传递中文解决办法
- Java的反射的机制来简化Structs应用程序的开发