【发布时间】:2010-02-22 10:06:52
【问题描述】:
我目前正在用 c++(无 MFC)编写程序,并想使用 win32 DrawText 函数更新标签(win32 静态控件)。但是,当我调用该函数时,标签中没有写入任何内容。我使用以下代码:
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,但在我看来这应该不是问题。当我在 GetDC 方法中指定 NULL 时,文本将绘制在屏幕的左上角,因为该方法将 DC 返回到整个屏幕。 为什么这不适用于标签的 DC?
希望大家能帮帮我。
【问题讨论】: