Dea*_*nna 10
您可以在窗口上放置一个Static或一个Edit控件(标签和文本框)来显示数据.
在以下期间拨打其中一个WM_CREATE:
HWND hWndExample = CreateWindow("STATIC", "Text Goes Here", WS_VISIBLE | WS_CHILD | SS_LEFT, 10,10,100,100, hWnd, NULL, hInstance, NULL);
Run Code Online (Sandbox Code Playgroud)
要么
HWND hWndExample = CreateWindow("EDIT", "Text Goes Here", WS_VISIBLE | WS_CHILD | ES_LEFT, 10,10,100,100, hWnd, NULL, hInstance, NULL);
Run Code Online (Sandbox Code Playgroud)
如果您使用,Edit那么用户也可以滚动,复制和粘贴文本.
在这两种情况下,都可以使用SetWindowText()以下方式更新文本:
SetWindowText(hWndExample, TEXT("Control string"));
Run Code Online (Sandbox Code Playgroud)
TextOut应该可以正常工作,如果在WM_PAINT中完成,则应该每次都绘制它.(包括最小化和重新调整大小)
LRESULT CALLBACK MyWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_PAINT:
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
TextOut(hdc, 10, 10, TEXT("Text Out String"),strlen("Text Out String"));
EndPaint(hWnd, &ps);
ReleaseDC(hWnd, hdc);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您可能也对DrawText感兴趣
LRESULT CALLBACK MyWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_PAINT:
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
RECT rec;
// SetRect(rect, x ,y ,width, height)
SetRect(&rec,10,10,100,100);
// DrawText(HDC, text, text length, drawing area, parameters "DT_XXX")
DrawText(hdc, TEXT("Text Out String"),strlen("Text Out String"), &rec, DT_TOP|DT_LEFT);
EndPaint(hWnd, &ps);
ReleaseDC(hWnd, hdc);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这将在给定的矩形中将文本绘制到窗口,
Draw Text将在给定的rect内部自动换行.
如果您想将整个窗口作为绘图区域,则可以使用GetClientRect(hWnd, &rec);而不是SetRect(&rec,10,10,100,100);
| 归档时间: |
|
| 查看次数: |
10067 次 |
| 最近记录: |