qtyj123 发表于 2016-11-19 12:09:59

这代码有什么问题呢?

想利用Message的返回值 在已经 画好的 窗口上 写上内容 , 这样写回调,无法实现啊。。。为什么??

LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
        HDC hdc;
        PAINTSTRUCT ps;
        RECT rect;
        switch(uMsg)
        {
                case WM_DESTROY:
          {
                     PostQuitMessage(0);
                   break;
                }
                case WM_NCRBUTTONDOWN:
                {       
                        int result;
                        result = MessageBox(NULL, TEXT("你好!"), TEXT("Ture!"), MB_YESNO);
                        if (result == IDYES)
                        {
                                hdc = BeginPaint(hWnd, &ps);
                                GetClientRect(hWnd,&rect);
                                DrawText(hdc, TEXT("有美女吗?"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
                                EndPaint(hWnd,&ps);
                                return 0;
                        }
                }
                default:       
                {
                        return DefWindowProc(hWnd, uMsg, wParam, lParam);
                }
        }
        return 0;
}

零度C 发表于 2016-11-21 23:21:44

BeginPaint只能在WM_PAINT消息处理函数中使用

anyueqingcheng 发表于 2016-11-23 16:53:15

楼上正解
页: [1]
查看完整版本: 这代码有什么问题呢?