У меня возникла проблема, с которой я себя убиваю. У меня есть следующий код:IDWriteFactory :: CreateTextFormat() не удалось
ComPtr<IDWriteFactory> factory;
DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, __uuidof(IDWriteFactory), factory.GetAddressOf();
ComPtr<IDWriteTextFormat> textFormat;
factory->CreateTextFormat(L"Arial", nullptr, DWRITE_FONT_WEIGHT_NORMAL,
DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STRETCH_NORMAL, 20.0f, nullptr,
textFormat.GetAddressOf());
После последней строки textFormat указывает на null. CreateTextFormat() возвращает значение E_INVALIDARG. У меня определенно установлен Arial, два параметра nullptr разрешены в соответствии с MSDN, поэтому я не вижу, что может быть недействительным. Может кто-нибудь пролить некоторый свет на это?
Ваш запрос «nullptr» для локального имени сомнительный, вы попробовали «en-us» вместо этого? –
textFormat теперь кажется чем-то иным, чем null, поэтому он, вероятно, исправлен. Кажется странным, как пример MSDN использует null для имени локали ... –
Работает ли она с пустой строкой 'L '" ', а не' nullptr'? Комментарий к этой странице (https://msdn.microsoft.com/en-us/library/windows/desktop/dd368203.aspx) утверждает это. – CodeAngry