C++ - 两次 DrawText()
C++ - two times DrawText()
我的程序目前遇到错误。
我的程序有两个矩形,每个矩形都被一个组合框包围。
目前我正在尝试在每个文本中放置两个位置文本。
我已经在第一个矩形中输入了文本 - 很好(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);
不幸的是,我不知道为什么文本没有按预期显示。
你们有没有人建议为什么这不起作用?
[解决方案]
我能够找出问题所在。
在片段中不可见,我最初发布,但我为矩形设置的坐标是错误的。
遗憾的是我不知道所有的值都是坐标。
这两个调用之间的唯一区别是您传递的 RECT
。显而易见的结论是您错误地初始化了其中一个矩形。
您应该在调用EndPaint
之前恢复原始字体。并且应该删除对 FindWindow
的调用。通过hwnd
。最后,您的代码根本不执行任何错误检查。这总是轻率的。
我的程序目前遇到错误。
我的程序有两个矩形,每个矩形都被一个组合框包围。
目前我正在尝试在每个文本中放置两个位置文本。
我已经在第一个矩形中输入了文本 - 很好(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);
不幸的是,我不知道为什么文本没有按预期显示。
你们有没有人建议为什么这不起作用?
[解决方案]
我能够找出问题所在。
在片段中不可见,我最初发布,但我为矩形设置的坐标是错误的。
遗憾的是我不知道所有的值都是坐标。
这两个调用之间的唯一区别是您传递的 RECT
。显而易见的结论是您错误地初始化了其中一个矩形。
您应该在调用EndPaint
之前恢复原始字体。并且应该删除对 FindWindow
的调用。通过hwnd
。最后,您的代码根本不执行任何错误检查。这总是轻率的。