GDI+ 文字输出

我现在做的程序里要实现一个CString变量的文字输出,但是GDI+提供的文字输出的函数DrawString要求的参数是一个常量指针,这个函数不适用,请问GDI+里有没有... 我现在做的程序里要实现一个CString变量的文字输出,但是GDI+提供的文字输出的函数DrawString要求的参数是一个常量指针,这个函数不适用,请问GDI+里有没有适用于变量输出的文字处理函数 或者 其他可行的方法 来实现变量输出
因为程序很大,基本上是用GDI+实现的,如果用GDI的函数,改动就大了,所以优先考虑GDI+的函数,请各位帮帮忙,不胜感激~
展开
 我来答
L_o_o_n_i_e
2010-10-05 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5158万
展开全部
CString 是 MFC 的东西,转换成WCHAR,要用 A2W,或 T2CW。头文件#include <atlconv.h>
编译时,要含路径:
C:\Program Files\Microsoft Visual Studio\VC98\ATL\Include
------------------------------------------------------------
CString str("Test");
WCHAR buf[1024]; // 或自己动态分配
USES_CONVERSION; // 必须有这句
wcscpy(buf, A2W((LPCSTR)str)); // 转换,也可用 wcsncpy
如果用SDK:
Font myFont(L"Arial", 16);
PointF origin(0.0f, 0.0f);
SolidBrush blackBrush(Color(255, 0, 0, 0));
// DrawString 有几种参数设法,例如
graphics.DrawString(
buf,
wcslen(buf),
&myFont,
origin,
&blackBrush);
sky9988227
2010-09-29 · 超过24用户采纳过TA的回答
知道答主
回答量:115
采纳率:100%
帮助的人:65.6万
展开全部
如果是unicode直接用就行 DrawString 支持的
如果不是就得写个方法 把CString逐个转成WCHAR类型
CString _str = "dfasfsaf";
////////////////////////////////方法应该是这样具体没写
WCHAR string[256];
wcscpy(string, L"dsadsaa");
///////////////////////////这个地方写个循环加进去一个字符一个字符加
graphics.DrawString(string, (INT)wcslen(string), &font, pointF, &tBrush);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真白的纱雾d442c
2010-09-29 · TA获得超过1093个赞
知道小有建树答主
回答量:265
采纳率:0%
帮助的人:537万
展开全部
试试CString.GetBuffer(), CString.ReleaseBuffer();

“这个函数是为一个CString对象重新获取其内部字符缓冲区的指针,返回的LPTSTR为非const的,从而允许直接修改CString中的内容”

参考资料: http://baike.baidu.com/view/1608730.html?wtp=tt

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式