我正在尝试使用C ++上的GDI绘制一些文本。我的类有一个方法返回状态,我想画出它。这个状态是一个std :: string!
目前为止,我已经做到了以下几点:
RECT status = RECT();
status.left = rcClient.right-200;
status.left = rcClient.left;
status.top = rcClient.top;
status.bottom = rcClient.bottom;
DrawTextW(hdc, game->GetStatus().c_str(), 1, status, 0);
我遇到的错误如下:
error C2664: 'FormatMessageW' : 无法将参数 5 从 'LPWSTR' 转换为 'char *'687 damas error C2664: 'FormatMessageW' : 无法将参数 5 从 'wchar_t *' 转换为 'char *'damas error C2664: 'DrawTextW' : 无法将参数 2 从 'const char *' 转换为 'LPCWSTR'我找不到解决方法...有人能帮帮我吗?
DrawTextA()
和FormatMessageA()
,因为W
变量需要宽字符串,但是std::string
是char*
。 - hmjdunicode
,这会选择宽字符串和函数的DrawTextW
版本。您可能需要更改设置。 - Peter Wood