很easy的问题!!关于画线的

gloomyfish
博客专家认证
2003-10-21 07:17:46
我在vc++的sdk下用向导生成一个简单的hello world。

在文件菜单自己添加一个子菜单IDM_DRAW: 实现功能画线
hdc=GetDC(hWnd);
for(k;k<200;k++){

SetPixel(hdc,200,200+i,RGB(0,0,255));
i++;
InvalidateRect(hWnd,NULL,1);
}
ReleaseDC(hWnd,hdc);
结果菜单不执行,可是我把同样的代码放在WM_PAINT:下就ok。
别告诉我没定义IDM_DRAW,我已经定义了,在线等待……


...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
huanyun 2003-10-21
  • 打赏
  • 举报
回复
去掉InvalidateRect(hWnd,NULL,1);

因为你并没有使用内存dc 而且在WM_PAINT也没有做处理
所以 你在其他地方修改屏幕的内容刷新后就不见了
gloomyfish 2003-10-21
  • 打赏
  • 举报
回复
k 已经初始了!!
InvalidateRect(hWnd,NULL,1);
不在WM_PAINT中要自己刷新的吧??
lsl7909 2003-10-21
  • 打赏
  • 举报
回复
同意楼上的,语句for(k;k<200;k++),k初始化了吗
huanyun 2003-10-21
  • 打赏
  • 举报
回复
InvalidateRect(hWnd,NULL,1);
这句话让你画的线无效 使用hdc的时候不需要InvalidateRect();

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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