回 帖 发 新 帖 刷新版面

主题:关于字体输出问题

long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam)
{    
    static long X=0,  Y=0;
    int i;
    HDC hDC;       
          static  char a[2];
    TEXTMETRIC tm;
    PAINTSTRUCT PtStr; 
    static char textbuf[] ="福如东海寿比南山";
    switch (iMessage)  
    {
    case WM_CREATE:
        hDC = GetDC(hWnd) ;  
        ReleaseDC(hWnd, hDC);  
        break;
    case WM_PAINT:
        hDC = BeginPaint(hWnd, &PtStr); 
        for(i=0;i<21;i++)
        {
            X=200*sin(2*3.14*i/20)+430;
            Y=200*cos(2*3.14*i/20)+230;
            a=textbuf[i];
                        TextOut(hDC, X, Y, a,strlen(a));
        }
        EndPaint(hWnd, &PtStr);        
我的这个程序怎么不能输出汉字啊!高手们帮帮忙啊!

回复列表 (共2个回复)

沙发

这里不行吧:
case WM_CREATE:
        hDC = GetDC(hWnd) ;  
        ReleaseDC(hWnd, hDC);  //还没用就释放了?
        break;

下面简单的都能显示汉字,你看看:

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     HDC    hdc;
     TCHAR    text[]=TEXT("你好");
     
     switch (message)
     { 
     case WM_PAINT:
          hdc = GetDC(hwnd);  
          SetBkMode(hdc,TRANSPARENT);
          TextOut(hdc,0,0,text,lstrlen(text));
          ValidateRect(hwnd,NULL);
          ReleaseDC(hwnd,hdc);          
          return 0 ;
          
     case WM_DESTROY:
          PostQuitMessage (0) ;
          return 0 ;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ;
}

板凳

寻找一直寻找机会的人!
一个趋势中的趋势的项目!
一个直销和传销终结者的项目!
一个帮助普通创业者成功的项目!
   我们在互联网上正在拓展一个生意项目,现在正在寻求合作伙伴。我们认为成功的关键是你是什么人?还有你和谁在一起。我们在乎的是--您是否是有激情、有梦想的人。有意者请跟我们联系,我们和您谈谈,给您讲解一些生意概念,或许我们可以合作。一个集即时网游、交友,娱乐游戏,网络品牌代理商城,互联网平台项目招商进行中……详情QQ空间资料
网商咨询 摩客天宇QQ 909065437 

我来回复

您尚未登录,请登录后再回复。点此登录或注册