数字值为什么不能左对齐?

亚细亚 2014-08-25 05:05:41
最近看win32 编程,看到第四章:输出文字;图中第一列左对齐可以理解,然后向右移动22个字符后 第二列怎么还能左对齐,毕竟第一列中的字符不是等宽啊?到了第三列,书中说不能左对齐,看了好长时间还是无法理解?请大家给予解释一下;先谢谢!
发现输出的数字值为什么不能左对齐;
如图:
...全文
404 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2014-09-27
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
Jackxan 2014-08-27
  • 打赏
  • 举报
回复
用%g可以很好的设置数字对齐
schlafenhamster 2014-08-26
  • 打赏
  • 举报
回复
1 TEXT ("%-5d") 使输出内容靠左. 2. 等宽 fixed
Sandrer 2014-08-26
  • 打赏
  • 举报
回复
用 DrawText
  • 打赏
  • 举报
回复
不能左对齐?肯定是可以做到的。至于书中那么说,可能是说数字不建议左对齐之类的,也可能是笔误。 这个问题很简单,楼主自行实现左对齐输出了,这一节就可以过了。如果无论如何实现不了,也就发现问题在哪了。
亚细亚 2014-08-26
  • 打赏
  • 举报
回复
引用 5 楼 tiger9991 的回复:
默认设置楼主也追究么?汗啊
你没有明白我提的问题;
傻X 2014-08-26
  • 打赏
  • 举报
回复
默认设置楼主也追究么?汗啊
亚细亚 2014-08-26
  • 打赏
  • 举报
回复

		case WM_PAINT :
			hdc = BeginPaint (hwnd, &ps) ;
			for (i = 0 ; i < NUMLINES ; i++)
			{
				TextOut (hdc, 0, cyChar * i,sysmetrics[i].szLabel,lstrlen (sysmetrics[i].szLabel)) ;
				TextOut (hdc, 22 * cxCaps, cyChar * i,sysmetrics[i].szDesc,lstrlen (sysmetrics[i].szDesc)) ;
				 SetTextAlign (hdc, TA_RIGHT | TA_TOP) ;
				TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i, szBuffer,wsprintf (szBuffer, TEXT ("%-5d"),GetSystemMetrics(sysmetrics[i].iIndex))) ;
				 SetTextAlign (hdc, TA_LEFT | TA_TOP) ;
				 //SetTextAlign (hdc, TA_RIGHT | TA_TOP) ;
			}
			EndPaint (hwnd, &ps) ;
			return 0 ;
夫人的泡泡鱼 2014-08-25
  • 打赏
  • 举报
回复
那段程序啊?贴出来吧
阿呆_ 2014-08-25
  • 打赏
  • 举报
回复
console? 用的是等宽字体
快乐鹦鹉 2014-08-25
  • 打赏
  • 举报
回复
不太明白啥意思。这是列表控件吗?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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