wince下用DRAWTEXT输出文字有关问题
发布时间:2010-06-13 22:21:44 文章来源:www.iduyao.cn 采编人员:星星草
wince下用DRAWTEXT输出文字问题
我用vs2008建立的一个windows mobile 5.0单文档mfc程序
我是想从文件读入txt文件的字符串后,放到了一个cstring中,用drawtext输出显示到view中
下面是有关代码
//代码在一个按钮响应中,不在OnDraw中.
//获得文件路径
CFileDialog dlgFile(TRUE);
const int c_cMaxFiles = 100;
const int c_cbBuffSize = (c_cMaxFiles * (MAX_PATH + 1)) + 1;
dlgFile.GetOFN().lpstrFilter = _T("TXT File\0*.txt;\0ALL File\0*.*;\0");
dlgFile.GetOFN().lpstrFile = fileName.GetBuffer(c_cbBuffSize);
dlgFile.GetOFN().nMaxFile = c_cMaxFiles;
dlgFile.DoModal();
fileName.ReleaseBuffer();
CFile XMLFile;
char* buffer;
//打开文件
XMLFile.Open(fileName,CFile::modeReadWrite);
int nLen = XMLFile.GetLength();
buffer=new char[nLen+1];
buffer[nLen] = 0;
//读文件
XMLFile.Read(buffer,nLen);
//单字节转换成双字节
DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, buffer, -1, NULL, 0);
wchar_t *pwText;
pwText = new wchar_t[dwNum];
if(!pwText)
{
delete []pwText;
}
MultiByteToWideChar (CP_ACP, 0, buffer, -1, pwText, dwNum);
//把pwText格式化到cstring对象中m_str
m_str.Format(_T("%s"), pwText);
delete []pwText;
//开始绘图
CDC* pDC = GetDC();
HDC hdc = pDC->GetSafeHdc();
RECT rect;
//得到客户区域
GetClientRect(&rect);
//这里设置断点后参数设定正常,返回n正常,但是屏幕不显示 为什么啊 ?大神们
int n = DrawText(hdc,m_str,-1,&rect,DT_CALCRECT);
//int n = ExtTextOut(hdc,0,0,ETO_OPAQUE,&rect,m_str,m_str.GetLength(),0);
------解决方案--------------------
DT_CALCRECT参数本来就是只计算所需区域的大小,不显示的
LZ去查MSDN吧
------解决方案--------------------
建议你这样用一下:
CRect rect;
pDC->DrawText(m_str,rect,DT_SINGLELINE|DT_VCENTER|DT_CENTER);
------解决方案--------------------
2L的可以,但是记得区域要设置对,你可以用GetTextExtentPoint32 函数获取文本的像素宽和高,然后再作为要drawtext区域的右下边界,这样区域算出来是准确的。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
管道的另一端上无任何进程
我写了一个程序,运行正常。
后来,用上了sqlite数据库,然后编译部署都正常,但在WINCE 6模拟器上不能自动运...
-
Power键点亮屏幕的问题
我在程序里面成队使用了:
PowerPolicyNotify(PPN_UNATTENDEDMODE,TRUE);
PowerPolicyNotify(PPN_UNATTEND...
-
求助一个问题:windowsmobile ipl读分区的问题
ipl通过 BP_ReadData读 ramimage 分区信息 读取的时候发现必须要偏移0xc800才能读正...
-
vs2005+DevEmul_SDK.msi后仍旧没有“armv4”选项
OS:win7
IDE:先前有装vs2010做winForm,后装了vs2005(完全安装)
装完后安装了DevEmu...
-
Win7 64位操作系统如何安装arm9开发板的usb下载驱动啊
按照教程操作,超级终端打开也连上了,但是系统貌似对SECBULK.sys SECBULK.inf...
-
嵌入式开发工具
谁用过 LAZARUS 开发过嵌入式系统 ?
------解决方案--------------------
Lazarus 做 PC 上的程序,做嵌入式可能...
-
请推荐几个wince游戏软件下载的地方
最近开始玩wince,请推荐几个好的地方,可以下载游戏,软件的.多谢拉!
------解决方案--------...
-
FAT32 与单片机
根目录下文件与目录项数从那里得
还有根目录的下一簇从哪得
不是说根目录也是一个文件吗 它的目录项在哪里
---...
-
谁可以推荐一个WinCE下的视频播放器,最好可以播放AVI、RMVB、MP3等格式,谢谢。
如题,
麻烦大家推荐一个WinCE5.0下的视频播放器,
-...
-
WinCE6的BinFS问题,100分求解
1、BinFS能不能做在IDE硬盘上?
2、要支持BinFS,bootloader要做甚?
3、BinFS能不能作为一个普通文件放到...