鱼C论坛

 找回密码
 立即注册
查看: 4488|回复: 4

SetTextAlign和TextOut同时使用的疑惑

[复制链接]
发表于 2016-10-5 20:50:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 好学习 于 2016-10-16 08:52 编辑
  1. case WM_PAINT:
  2.                 {
  3.                                             RECT rctClient;
  4.                                             HDC hdc;
  5.                         TCHAR st[20] = TEXT("* * * * * *"), str[100];                       
  6.                         size_t iTarget;
  7.                                                 GetClientRect(hwnd, &rctClient);
  8.                         hdc = GetDC(hwnd);
  9.                         StringCchPrintf(str, 100, TEXT("%s"), st);
  10.                         StringCchLength(str, 100, &iTarget);
  11.                         SetTextAlign(hdc, GetTextAlign(hdc)|DT_CENTER);  // DT_LEFT或DT_RIGHT等为何会显著影响位置?
  12.                         TextOut(hdc, rctClient.right/2, rctClient.bottom/2, str, iTarget);
  13.                         ReleaseDC(hwnd, hdc);
  14.                         break;
  15.                 }

复制代码
SetTextAlign不是只负责文字对齐方式的吗?怎么改动DT_CENTER的值会影响到文字的位置?况且设置DT_CENTER文字在左上,设置成DT_LEFT文字反倒跑中间来了?何解?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-10-16 04:11:21 | 显示全部楼层
这问题只有我遇到吗?或者这段代码你们运行都是好好的,就我的机器不行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-25 14:55:35 | 显示全部楼层
  TextOut(hdc, rctClient.right/2, rctClient.bottom/2, str, iTarget);你设置的位置就在中间 ,当然文字会出现在中间了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-31 19:26:52 | 显示全部楼层
看看 小甲鱼老师的API档案你就明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-30 23:30:26 | 显示全部楼层
我也没明白,前辈。现在明白了吗?
能不能讲讲?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 18:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表