api绘制棋子遇到了小问题..标题多长才算长...............
时间:2011-12-26
来源:互联网
话说我想写个五子棋的小程序,本来打算10天写完的,这都第二天了,遇到了这个小问题就卡住了,各位大大帮帮忙吧,我算法还没动呢....
是这样的,棋盘我画好了,在WM_PAINT消息时BeginPaint和EndPaint之间画的,然后我在WM_LBUTTONDOWN消息时发送一条WM_PAINT消息,设定wParam为IDXX.
然后在WM_PAINT中检查wParam是不是IDXX,如果是就调用Ellipse画圆,可是我在窗口客户区把鼠标都点坏了都不见圆画出来.
假如把检查wParam那两句注释掉则可以画出圆,但这不是我要的结果啊.
我已经试验了,假如我在
Assembly code
假如我在那里加一句invoke MessageBox,0,0,0,0的话,我点一下窗口就弹出一个确定,表示Ellipse确实工作了,为什么没有显示出来呢??
请大大们帮忙.....
是这样的,棋盘我画好了,在WM_PAINT消息时BeginPaint和EndPaint之间画的,然后我在WM_LBUTTONDOWN消息时发送一条WM_PAINT消息,设定wParam为IDXX.
然后在WM_PAINT中检查wParam是不是IDXX,如果是就调用Ellipse画圆,可是我在窗口客户区把鼠标都点坏了都不见圆画出来.
假如把检查wParam那两句注释掉则可以画出圆,但这不是我要的结果啊.
我已经试验了,假如我在
Assembly code
.if wParam==IDXX invoke Ellipse,hDc,22,22,55,55 ;----------------这里 .endif
假如我在那里加一句invoke MessageBox,0,0,0,0的话,我点一下窗口就弹出一个确定,表示Ellipse确实工作了,为什么没有显示出来呢??
请大大们帮忙.....
作者: hygf99 发布时间: 2011-12-26
好吧,话说我找到了一个方法
用EndPaint获得的hDc句柄仅仅是无效区域的句柄,通过看书得知可以用GetDC来获得本程序的环境句柄,于是我很惬意的通过获得的hDc画了n个黑白棋子,正当我兴致勃勃要将所有交界点都画上棋子的时候,某不明生物通过扣扣弹出了一个窗口,好吧,聊天完之后,我再次弹出我五子棋,结果,令人大吃一惊的事情发生了......
我画的棋子呀,竟然消失了...这是肿么一回事呢?肯定是该死的WM_PAINT消息,重新绘制了客户区,把棋盘绘制了,但是我画的棋子统统没有了
把窗口最小化然后再恢复也会出现这种情况,目前我正在寻找解决方法,各位大大有没有办法呀,让小的省省力气......
用EndPaint获得的hDc句柄仅仅是无效区域的句柄,通过看书得知可以用GetDC来获得本程序的环境句柄,于是我很惬意的通过获得的hDc画了n个黑白棋子,正当我兴致勃勃要将所有交界点都画上棋子的时候,某不明生物通过扣扣弹出了一个窗口,好吧,聊天完之后,我再次弹出我五子棋,结果,令人大吃一惊的事情发生了......
我画的棋子呀,竟然消失了...这是肿么一回事呢?肯定是该死的WM_PAINT消息,重新绘制了客户区,把棋盘绘制了,但是我画的棋子统统没有了
把窗口最小化然后再恢复也会出现这种情况,目前我正在寻找解决方法,各位大大有没有办法呀,让小的省省力气......
作者: hygf99 发布时间: 2011-12-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28