您的位置:首页 > 编程语言

windows编程显示客户区窗口分辨率

2016-04-01 22:02 441 查看
消息循环中的代码:
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
TCHAR szBuffer[128];
size_t ITarget;

switch (message)
{
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
GetClientRect(hwnd, &rect);
DrawText(hdc, TEXT("大家好,这是我的第一个窗口程序!"), -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER);
EndPaint(hwnd, &ps);
return 0;

case WM_SIZE:
hdc = GetDC(hwnd);
StringCchPrintf(szBuffer, 128, TEXT("客户去当前的分辨率是:%d*%d px"),LOWORD(lParam),HIWORD(lParam));
//	StringCchPrintf(szBuffer, 128, &ITarget);
StringCchLength(szBuffer, 128, &ITarget);
TextOut(hdc,10,10,szBuffer,ITarget);
ReleaseDC(hwnd, hdc);

return 0;

case WM_DESTROY:
PostQuitMessage(0);
return 0;
}

return DefWindowProc(hwnd, message, wParam, lParam);
}

主要加入的代码:

TCHAR szBuffer[128];
size_t ITarget;

case WM_SIZE:
hdc = GetDC(hwnd);
StringCchPrintf(szBuffer, 128, TEXT("客户去当前的分辨率是:%d*%d px"),LOWORD(lParam),HIWORD(lParam));
//	StringCchPrintf(szBuffer, 128, &ITarget);
StringCchLength(szBuffer, 128, &ITarget);
TextOut(hdc,10,10,szBuffer,ITarget);
ReleaseDC(hwnd, hdc);

return 0;

调整窗口大小分辨率实时更新:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: