В настоящее время у меня ошибка с моей программой.
Моя программа имеет два прямоугольника, каждый из которых окружен групповым блоком.
В настоящее время я пробую два места текста в каждом из них.
У меня уже есть текст в первом прямоугольнике — хорошо (с 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
, Наконец, ваш код не выполняет никакой проверки ошибок. Это всегда неблагоразумно.