|

楼主 |
发表于 2012-11-5 10:02:35
|
显示全部楼层
这个问题, 我很早以前就已经说过了.
我在做五子棋的时候, 要在点击事件后, 在窗体上绘制一个棋子.就如你的问题一样.
在UCGUI中调用每个窗体回调函数处理WM_PAINT消息,画窗体时, 有一个操作就是:
WM_SelectWindow(hWin);
hWin就要当前要画的窗体句柄.
所以, 你如果要往窗体上绘图, 特别要注意:
1. 必须先用WM_SelectWindow(hWin);选中当前你要绘图的窗体.否则就是默认绘制在屏幕窗体上.
2. 还须特别注意的是, 如果是对话框窗体, 想在对话框窗体的回调函数中的WM_TOUCH消息中进行绘图,
则必须选中对话框窗体的客户区窗体, 因为对话框上的东西都是绘制在其子窗体---客户区窗体上的.
如下, hWin就是对话框窗体够柄: //The chess is paint to the dialog's client dlg, so select it,
//if select hWin will not be show chess...
WM_SelectWindow(WM_GetFirstChild(hWin)); |
|