因为钟爱这个板块,所以就在此提问了

erwinrommel 2004-08-18 01:55:36
我现在想画图,但是每次画图后,在窗口重绘时所绘制的图案总会消失,我想用CreateCompatibleDC补救,但是似乎不行,源代码如下:望高人指点迷津!

int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
static HDC chdc;

case WM_MOUSEMOVE: // 移动鼠标
{
hdc = GetDC( hWnd );
chdc = CreateCompatibleDC( hdc );
ptEnd.x = LOWORD (lParam) ;
ptEnd.y = HIWORD (lParam) ;
MoveToEx ( chdc, ptBeg.x, ptBeg.y, NULL );
LineTo( chdc, ptEnd.x, ptEnd.y );
MoveToEx ( hdc, ptBeg.x, ptBeg.y, NULL );
LineTo( hdc, ptEnd.x, ptEnd.y );
ptBeg.x = ptEnd.x;
ptBeg.y = ptEnd.y;
break;
}
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
::BitBlt( hdc, 10*cxChar, 0, rect.right-10*cxChar,rect.bottom, chdc, 0,0, MERGECOPY );
EndPaint(hWnd, &ps);
break;
}
...全文
157 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
niky8053 2004-08-18
  • 打赏
  • 举报
回复
在WM_MOUSEMOVE:消息中加入
InvalidateRect(hwnd,NULL,FALSE);
看看这样行不行?
qiuafa 2004-08-18
  • 打赏
  • 举报
回复
捧场!
yjh1982 2004-08-18
  • 打赏
  • 举报
回复
钟爱它就不要.....
xkou 2004-08-18
  • 打赏
  • 举报
回复
WM_MOUSEMOVE :只处理会图参数
WM_PAINT: 处理LineTO..,

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧