急:wince 是不是不支持等宽字体啊?

hustwjz 2005-09-07 04:29:02
在windows下我们可以通过
lgFont.lfPitchAndFamily = FF_MODERN|FIXED_PITCH;
将字体设置为等宽字体,但是在wince中上述语句编译通过,但是没有任何效果。屏幕上的字体根本就不是等宽字体。

代码如下:
LOGFONT lgFont;
CFont hFont, *pOldFont;
CPoint pt;
INT int nFontHeight = 8;
int nFontWidth = 16;
lgFont.lfHeight = nFontHeight;
lgFont.lfWidth = nFontWidth;
lgFont.lfEscapement = 0;
lgFont.lfOrientation = 0;
lgFont.lfWeight = 0;
lgFont.lfItalic = 0;
lgFont.lfUnderline = 0;
lgFont.lfStrikeOut = 0;
lgFont.lfCharSet = DEFAULT_CHARSET;
lgFont.lfOutPrecision = 0;
lgFont.lfClipPrecision = 0;
lgFont.lfQuality = 0;
lgFont.lfPitchAndFamily = FF_MODERN|FIXED_PITCH;
lgFont.lfFaceName[0] = 0;

if (hFont.CreateFontIndirect (&lgFont))
pDC->ExtTextOut(0, 100, 0, 0, _T("Success"), NULL);
else
pDC->ExtTextOut(0, 100, 0, 0, _T("Fail"), NULL);

pOldFont = pDC->SelectObject(&hFont);

pt = GetScrollPosition();
CString strLine = _T("A234567890B234567890C234567890D234567890E234567890F234567890G234567890H234567890");
pDC->ExtTextOut(-pt.x, 14, 0, 0, strLine, NULL);// 新建字体输出
pDC->SelectObject(pOldFont);
pDC->ExtTextOut(-pt.x, 40, 0, 0, strLine, NULL);//默认字体输出

for (int K=0; K<80; K++)
{
pDC->ExtTextOut(-pt.x + K*nFontWidth, 34+ nFontHeight + LINE_GAP, 0, 0, strLine[K], NULL); //逐个字符输出
}

wince 是不是不支持等宽字体啊?
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hustwjz 2005-10-21
  • 打赏
  • 举报
回复
WINCE 对等宽字体的支持做得很不好,某些尺寸可以达到等宽得效果,而某些则不可以。
因此我在程序中固定了字体得大小。
西山小月 2005-09-08
  • 打赏
  • 举报
回复
应该可以通过其他办法解决吧,没研究过。
tellmenow 2005-09-08
  • 打赏
  • 举报
回复
WinCE 程序设计 (3rd 版)--2.2 输出文本
http://blog.csdn.net/tellmenow/archive/2005/09/01/469191.aspx

介绍了文字输出的一些内容,可以参考一下。
sinos_sinos 2005-09-08
  • 打赏
  • 举报
回复
目前 距我知道 不支持
红牛哥110 2005-09-07
  • 打赏
  • 举报
回复
我想是不支持的了。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧