directwrite - IDWriteTextFormat::SetTextAlignment 不适用于 DWRITE_TEXT_ALIGNMENT_JUSTIFIED

标签 directwrite

IDWriteTextFormat::SetTextAlignment 用于在 DirectWrite 中对齐文本,它采用 DWRITE_TEXT_ALIGNMENT 类型的参数

enum DWRITE_TEXT_ALIGNMENT {
  DWRITE_TEXT_ALIGNMENT_LEADING,
  DWRITE_TEXT_ALIGNMENT_TRAILING,
  DWRITE_TEXT_ALIGNMENT_CENTER,
  DWRITE_TEXT_ALIGNMENT_JUSTIFIED 
};

前 3 个类型都工作正常,但最后一个 DWRITE_TEXT_ALIGNMENT_JUSTIFIED 不起作用,当我尝试设置它时,出现无效参数错误

HRESULT hr = g_pTextFormat->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_JUSTIFIED);
if(FAILED(hr))
{
    MessageBox(NULL, L"Center text failed!", L"Error", 0);
    return;
}

enter image description here

这似乎不是一个有效的论点,为什么?有人遇到同样的问题吗?

最佳答案

从Microsoft DirectX论坛得到答案,是因为,这个flag不支持Win7,但SDK文档中没有指出。 http://xboxforums.create.msdn.com/forums/p/108456/640004.aspx#640004

关于directwrite - IDWriteTextFormat::SetTextAlignment 不适用于 DWRITE_TEXT_ALIGNMENT_JUSTIFIED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12661307/

相关文章:

c++ - Win32/Direct2D - 如何呈现无限滚动列表框

css - 文本在不同平台上的大小不同

wpf - 在 IE9 中禁用 Cleartype(文本抗锯齿)

c++ - 在 DirectWrite 中使用 TAB

c++ - 如何在C++中访问DirectWrite继承的接口(interface)?

delphi - 如何创建 IDWriteFontFile

winapi - 在 Windows 上的自定义控件中处理任意文本输入的正确现代方法是什么? WM_CHAR? IMM? TSF?

c++ - 字体轮廓贝塞尔曲线样条轮廓和 DirectWrite

locale - Windows 7(日语系统区域设置)上的 IDWriteFont::GetInformationalStrings(...) 问题

c++ - 我怎样才能使 DirectWrite PadWrite 示例工作?