【问题标题】:How to detect the control text's line number?如何检测控件文本的行号?
【发布时间】:2011-09-24 03:53:29
【问题描述】:

对话框包含静态文本控件。初始化对话框时,应用程序会为此静态文本控件设置自定义文本:

HWND hWnd = GetDlgItem(IDC_MY_STATIC_TEXT);
::SetWindowText(hWnd, szMyCustomText);

我需要知道指定文本在 UI 中显示时的行数和该文本的宽度。你能分享一下你的想法吗?

【问题讨论】:

  • 有什么关系?你想做什么?
  • 正如 ybungalobill 所说,这个问题需要更多信息才能回答。使用“编辑”链接改进您的问题。

标签: c++ winapi controls wtl


【解决方案1】:

这取决于字体、DPI 和其他设置。我建议查一下static text controls,上面写着:

系统在静态控件中显示尽可能多的文本,并剪掉任何不适合的内容。要计算控件的适当大小,请检索文本的字体度量。有关字体和字体指标的更多信息,请参阅字体和文本。

结合这个post关于计算结果文本的大小应该可以帮助你计算文本宽度(并且知道文本高度和行数)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-30
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 2012-03-22
    • 1970-01-01
    相关资源
    最近更新 更多