windows编程------TextOut与TextOutw与TextOutA,基于vs2010

问题源于:计算机图形学实验,p218,《计算机图形学及实用编程技术》李春雨,北航出版社


按书上的代码输入编译失败

错误行如下:

pDC->TextOut(rc.right/2-10,10,"X");

错误类似于这个:

 error C2664: “BOOL CDC::TextOutW(int,int,const CString &)”: 不能将参数 3 从“char [80]”转换为“const CString &”

百度得:

------------------------------------------------

TextOutA()是TextOut()的ASCII版本   
TextOutW()是TextOut()的Unicode版本       
如果程序中定义了   _UNICODE     编译的时候编译器会自动链接TextOutW()   
如果程序中没有定义   _UNICODE     编译的时候编译器就会自动链接TextOutA()

地址:http://blog.sina.com.cn/s/blog_6285da3c0100hjul.html

-----------------------------------------------------------------------------

但是TextOutA()会显示cdc不含此成员。

TextOut()可以使用 ,但是需要在"X"前面加上_T()

即:

pDC->TextOut(rc.right/2-10,10,_T("X"));

这个方法出自:

http://bbs.csdn.net/topics/350188886

另外还有:

TEXT("文本")
_T("文本")
L"文本"

解释:

_T表示后面的内容为UNICODE常量字符串
格式不只是_T,那对括号是必须的_T() 

 在stdafx.h中有如下定义:

#ifdef _UNICODE

可见这个建立的项目中,定义了 _UNICODE。


相关学习:

Unicode简介

http://www.cnblogs.com/speedmancs/archive/2010/04/27/1721715.html

------------------------------------------------------------------------------------------------------------

END

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值