关于InvalidateRect 的问题

我想给窗口做个2个菜单,其中一个在客户区显示12345,另外一个擦除客户区数据,源码如下:caseWM_COMMAND:switch(LOWORD(wParam)){ca... 我想给窗口做个2个菜单,其中一个在客户区显示12345,另外一个擦除客户区数据,源码如下:
case WM_COMMAND:
switch(LOWORD(wParam))
{
case ID_FILE_EXIT:
::SendMessage(hWnd,WM_CLOSE,0,0);
return 1;
case ID_EDIT_WRITE:
{
HDC hdc = ::GetDC(hWnd);
::TextOut(hdc,20,20,L"12345!",(int)_tcslen(L"12345!"));
::ReleaseDC(hWnd,hdc);
}
case ID_EDIT_FRESH:
{
::InvalidateRect(hWnd,NULL,0);
}
}

点击ID_EDIT_FRESH菜单不能擦除原来写的字,为什么?
改成True之后ID_EDIT_WRITE就无法在客户写文字了.另外我用的vista系统不知道有没有影响~
展开
 我来答
L_o_o_n_i_e
2008-06-05 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5122万
展开全部
擦除 用 TRUE
0 是 TRUE 还是 FALSE 有时会混。

如果是 CWnd::InvalidateRect,参数只有2个。
SDK的 参数 可能是 3 个,最后 一个参数 是 bErase(给值真假)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式