宋桓公 发表于 2016-6-29 11:28:36

鼠标按下修改显示,这样无法实现,不知道为什么

        case WM_LBUTTONDOWN:
                hdc = BeginPaint(hwnd, &ps);
                GetClientRect(hwnd, &rect);
                x = GET_X_LPARAM(lParam);       
                y = GET_Y_LPARAM(lParam);
                wsprintf(szStr,TEXT("lParam = %d !x = %d,y = %d"),lParam,x,y);
                DrawText(hdc, szStr, -1, &rect,
                        DT_SINGLELINE | DT_CENTER | DT_VCENTER);
                EndPaint(hwnd, &ps);
               
                return 0;


无符号整形 发表于 2016-6-29 11:28:37

宋桓公 发表于 2016-6-29 14:18
2、BeginPaint,EndPaint,DrawText 一般是在WM_PAINT这个消息下用的。

    case WM_PAINT:


当然,GetDC用于主动重画

宋桓公 发表于 2016-6-29 14:18:43

本帖最后由 宋桓公 于 2016-6-29 14:20 编辑

2、BeginPaint,EndPaint,DrawText 一般是在WM_PAINT这个消息下用的。

    case WM_PAINT:
      hdc = BeginPaint(hwnd, &ps);
      GetClientRect(hwnd, &rect);
      DrawText(hdc, szStr, -1, &rect,
      DT_SINGLELINE | DT_CENTER | DT_VCENTER);
      EndPaint(hwnd, &ps);
      return 0

3、hdc = GetDC(hwnd);ReleaseDC(hwnd,hdc);TextOut(hdc,500,500,szStr,lstrlen(szStr));
这个可以用于任何消息下~~

      hdc = GetDC(hwnd);
      TextOut(hdc,500,500,szStr,lstrlen(szStr));
      ReleaseDC(hwnd,hdc);

宋桓公 发表于 2016-6-29 14:19:48

{:10_254:}
解决了,谁回复,鱼币给谁
页: [1]
查看完整版本: 鼠标按下修改显示,这样无法实现,不知道为什么