::GetPrivateProfileString("CARINFO","CarNumber","1234",TempString.GetBuffer(10),10,"d:\\hmi\\carnumber.ini");
MemDC.TextOut(625,330,TempString);//TempString的值已经对了,但画面上死活显示不了文字。敬请分析可能原因。

解决方案 »

  1.   

    放了
    把TempString改为随便一个常量"ABCD"都能显示。
      

  2.   

    ::GetPrivateProfileString("CARINFO","CarNumber","1234",TempString.GetBuffer(10),10,"d:\\hmi\\carnumber.ini");
     函数没成功
      

  3.   

    自己调一下MemDC.TextOut(625,330,TempString);里面的TempString是什么不就知道了?这种一调就出来的还拿来问 有发贴的时间都解决了
      

  4.   

    TempString    GetBuffer了之后,还要ReleaseBuffer
      

  5.   

    MemDC.TextOut(625,330,TempString);//
    ========
    我不知道你的MemDC是指什么,不过从变量命名来看,这个别是一个内存DC吧,如果是内存DC的话,还要用Bitblt将它贴到实际的窗体DC中去。
      

  6.   

    如果这样的话,应该是你的TempString没有得到值,你Debug下调试一下,看看你的GetPrivateProfileString函数执行成功了吗?取得值了吗?
      

  7.   

    不建议使用GetBuffer
    直接用个char buff[255]试试
      

  8.   

    字符串得到值了 。
    但因为没有releasebuffer,不能显示,release之后就能显示了
    另,发现了用LPCTSTR强制类型转换下,也能显示,不转换编译没有错误但显示不了,请高手解释下为什么?微软搞的太复杂了。