dc.SetBkColor(RGB(0,0,255));
dc.SetBkMode(TRANSPARENT);
dc.SetTextColor(RGB(0,255,0));
dc.DrawText(str,&rect,DT_TOP|DT_WORDBREAK);   
请问这样用drawtext是不是漏掉了什么
为什么我都不显示呢 

解决方案 »

  1.   

    CString str = "abc";
    RECT rect;    rect.left = 0;
    rect.right = 100;
    rect.top = 0;
    rect.bottom = 100;
      

  2.   

    发现问题了,
    是CString的Format有问题,在wince下,不知道为什么
    Format(_T("%s"),"abc")出来的就是一个个框框
      

  3.   

    不太明白你说的什么意思你的代码放在vc6下执行能显示不是要显示abc吗?为什么要用format,而且这个转换也不对吧~
      

  4.   

    dc.DrawText(“abc”,&rect,DT_SINGLELINE|DT_VCENTER|DT_CENTER);    
      

  5.   

    wince下要求unicode编码,_T("abc")
      

  6.   

    恩,是的,wince要求unicode编码.
    我本来的char* string = "hello";
    然后我用Cstring str;
    str.Format(_T("%s"),string);
    就会出错了,出来的都是小框框.
    后来我直接赋值就好了.可我不知道为什么
    是不是在wince里定义BYTE 和char 是两个字节??