C++ C++;-两次DrawText()

C++ C++;-两次DrawText(),c++,winapi,drawtext,C++,Winapi,Drawtext,我的程序当前出现错误。 我的程序有两个矩形,每个矩形由一个groupbox包围。 目前,我正在尝试在每个文本中放置两个位置。 我已经在第一个矩形中找到了文本-很好(使用DrawText())。 如果我试图在第二个矩形中显示文本(也使用DrawText()),则不会显示文本。 下面是我正在使用的代码: hdc = BeginPaint(hwnd, &ps); SelectObject(hdc, font); DrawText(hdc, lpcwstr, wcslen(lpcwstr), &

我的程序当前出现错误。
我的程序有两个矩形,每个矩形由一个groupbox包围。
目前,我正在尝试在每个文本中放置两个位置。
我已经在第一个矩形中找到了文本-很好(使用
DrawText()
)。
如果我试图在第二个矩形中显示文本(也使用
DrawText()
),则不会显示文本。
下面是我正在使用的代码:

hdc = BeginPaint(hwnd, &ps);
SelectObject(hdc, font);
DrawText(hdc, lpcwstr, wcslen(lpcwstr), &rect, DT_LEFT);
DrawText(hdc, lpcwstr, wcslen(lpcwstr), &rect_2, DT_LEFT);
EndPaint(FindWindow(NULL, L"Statistik (seit dem 01.01.2015)"), &ps);
不幸的是,我不知道为什么文本没有按预期显示。

你们中有人有没有建议为什么这不起作用?

[SOLUTION]
我能够找出问题所在。
我最初发布的代码片段中不可见,但我为矩形设置的坐标是错误的。

遗憾的是,我没有意识到所有的值都是坐标。

这两个调用之间的唯一区别是传递的
RECT
。明显的结论是您错误地初始化了其中一个矩形


在调用
EndPaint
之前,应恢复原始字体。并且应该删除对
FindWindow
的调用。通过
hwnd
。最后,代码根本不执行错误检查。那总是轻率的

检查您的错误返回。还有,为什么要在
EndPaint()
中调用
FindWindow()
?这不能保证返回与您所想的相同的窗口(如果有窗口的话)。。。您知道传递给
BeginPaint()
hwnd
;“用它就行了。”谢谢你的进步,我会改变的。