【发布时间】:2013-12-19 02:43:53
【问题描述】:
目前我正在从窗口中的文本框中绘制文本。我成功地得到了我需要绘制的文本,它绘制了文本。没关系。
问题是:当我在输入框中写下其他内容并再次绘制文本(通过按钮按下)时,新文本会按预期绘制在先前文本的顶部。
我对这一切都很陌生,在绘制新文本之前我找不到清除先前文本的方法。
这是我的代码:
void DrawMyText(HWND hwnd) {
int iTextLength = GetWindowTextLength(hDrawInput) + 1;
char cDrawText[1000] = "";
HDC wdc = GetWindowDC(hwnd);
RECT canvas;
canvas.left = 168;
canvas.top = 108;
canvas.right = 500;
canvas.bottom = 500;
GetWindowText(hDrawInput, cDrawText, iTextLength);
SetTextColor(wdc, 0x00FF0066);
SetBkMode(wdc,TRANSPARENT);
DrawText(wdc, cDrawText, -1, &canvas, DT_LEFT);
DeleteDC(wdc);
}
关于如何做到这一点的任何提示?如果需要,我很乐意提供任何其他信息。提前致谢!
【问题讨论】: