关于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系统不知道有没有影响~ 展开
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系统不知道有没有影响~ 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询