我要在窗口中写出几行字,这几行字里面必须有随情况不同变化的数值(有许多个夹杂在文字中),这回麻烦死了,不仅代码繁复,还得时时安排句子在窗口中的位置,稍不注意字就会重叠。天,有什么解决办法吗?
譬如: 人人从人从人人人人人人66人人88人人人99……其中的数值都是要会改变的,而TextOut()函数偏没有这个功能,不像以前的printf();

解决方案 »

  1.   

    CString str;
    str.Format("%s...",...);
    pDC->TextOut(str,...)
      

  2.   

    CString里的Format就能实现你的愿望啊。
    就像mynamelj 风之羽翼  写的那样,它的功能就类似printf(),具体功能自己去搜索下,很好用的
      

  3.   

    char a_cStr[100];
    sprintf(a_cStr, ...);
    pDC->TextOut(a_cStr);
      

  4.   

    CString cs;
    cs.Format("从人  %d  ...",数据);
    pDC->TextOut(cs);
      

  5.   

    TextOut(hdc,x,y,szBuf,wsprintf(zsBuf,"%s%i%d",...));
      

  6.   

    TextOut(hdc,x,y,szBuf,wsprintf(zsBuf,TEXT("%s%i%d"),...));
      

  7.   

    先理解一下你的问题:
    1、字符串的内容是不固定的,希望把字符串确定下来。
    2、希望在矩形区域里显示字符串,希望自动换行。
    下面解答你的问题:
    1、前面大家基本已经给出答案,就是用CString的Format函数,或者用sprintf函数。
    2、建议在CDC的ExtTextOut、DrawText、DrawTextEx这几个函数选择一个比较适合的,来代替TextOut函数。
    上述函数的用法,请从msdn(www.msdn.com)中查询。