В настоящее время я пишу программу на c ++ (без MFC) и хочу обновить метку (статический элемент управления win32), используя функцию win32 DrawText. Однако, когда я вызываю функцию, на этикетке ничего не пишется. Я использую следующий код:
HDC devCon = ::GetDC(GetDlgItem(IDC_TITLE).m_hWnd);
RECT rect = {10, 10, 100, 15};
::DrawText(devCon, _T("TEST DC TEXT!!!"), -1, &rect, DT_NOCLIP);
::ReleaseDC(GetDlgItem(IDC_TITLE).m_hWnd, devCon);
Как вы видите с GetDlgItem (...) я использую ATL, но это не должно быть проблемой, по моему мнению. Когда я указываю NULL в методе GetDC, текст рисуется в левом верхнем углу экрана, как и положено, так как метод возвращает DC на весь экран.
Почему это не работает с DC лейбла?
Надеюсь, вы, ребята, можете мне помочь.