Win32 API中如何画线

题目要求在Win32API程序中画一条线段,从某一位置(x1,y1)画到另一位置(x2,y2),并且使用LineTo函数。为什么我用了都没有显示的呢?麻烦说明下代码添加的... 题目要求在Win32 API程序中画一条线段,从某一位置(x1,y1)画到另一位置(x2,y2),并且使用LineTo函数。为什么我用了都没有显示的呢?
麻烦说明下代码添加的位置,谢谢
展开
 我来答
liuhua1433
2010-07-11 · TA获得超过172个赞
知道答主
回答量:79
采纳率:0%
帮助的人:47.4万
展开全部
Win32画图函数中有个重要的概念就是画图的目标地点,也就是说你要在什么东西上画,这个东西就是一个窗口。
假如你获得了一个窗口的句柄为hwnd,那么就按下面的方式画:
HDC hdc=::GetDC(hwnd); //如果hwnd是别的进程的窗口也是可以的
::MoveTo(hdc,x1,y1);
::LineTo(hdc,x2,y2);
::ReleaseDC(hdc);
但是以上画的是个临时的图,只要窗口刷新一下或被别的窗口挡住一次就会消失,所以如果要绘个有用的图你就的在窗口的WM_PAINT消息处理过程里调用以上代码。至于如何找到WM_PAINT消息处理过程以及窗口句柄就有太多话了,建议你Baidu搜索下"WM_PAINT" "窗口句柄" "HDC"等关键字
圣鸾OJ
2015-10-08 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:107万
展开全部
Win32画图函数中有个重要的概念就是画图的目标地点,也就是说你要在什么东西上画,这个东西就是一个窗口。
假如你获得了一个窗口的句柄为hwnd,那么就按下面的方式画:
HDC hdc=::GetDC(hwnd); //如果hwnd是别的进程的窗口也是可以的
::MoveTo(hdc,x1,y1);
::LineTo(hdc,x2,y2);
::ReleaseDC(hdc);
但是以上画的是个临时的图,只要窗口刷新一下或被别的窗口挡住一次就会消失,所以如果要绘个有用的图你就的在窗口的WM_PAINT消息处理过程里调用以上代码。至于如何找到WM_PAINT消息处理过程以及窗口句柄就有太多话了,建议你Baidu搜索下"WM_PAINT" "窗口句柄" "HDC"等关键字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
javacx
2010-07-11 · TA获得超过439个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:355万
展开全部
pDC->MoveTo(int(x1),int(y1));
pDC->LineTo(int(x2),int(y2));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式