case WM_CREATE:
          hdc = GetDC (hwnd) ;
          TextOut(hdc,10,10,szBuffer,wsprintf(szBuffer,TEXT("%d"),5));
          ReleaseDC (hwnd, hdc) ;
          return 0 ;这个是创建窗口消息目的很简单 在(10,10)坐标上输出5 
为什么看不见呢?

解决方案 »

  1.   

     case WM_PAINT:
           hdc=BeginPaint(hwnd,&ps);
            TextOut(hdc,50,50,p,lstrlen(p));
            EndPaint(hwnd,&ps);
            break;
      

  2.   

    hwnd是否有效?
    WM_CREATE,在这个消息里面写是不是太早了
      

  3.   

    HWND hwnd = ::AfxGetMainWnd()->m_hWnd;
    HDC pDC = ::GetDC(hwnd);
    DrawText(pDC, "仅供测试使用", -1,CRect(CPoint(10,10), CSize(100,21)), DT_SINGLELINE | DT_LEFT | DT_VCENTER);
    ::ReleaseDC(hwnd,pDC);
      

  4.   

    额..WM_CREATE时,窗口还没显示额...
    等显示出来后,就又被WM_PAINT刷掉了..
      

  5.   

    没用的,WM_CREATE在发出时,窗口还没有建好,只有等这个消息处理完之后,窗口才会显示出来。
    一般的做法是在WM_CREATE的处理函数的return之前用PostMessage发一个自定义消息,在自定义消息中显示。