win32 tutorial style c++ winapi window createwindowex

c++ - tutorial - windows style



WinAPI: crea una ventana con un tamaño de área de cliente especificado (1)

Puede usar la función AdjustWindowRect o AdjustWindowRectEx para calcular el tamaño de la ventana dado el tamaño de área de cliente deseado.

Me preguntaba cómo puedo crear una ventana usando la API de Win32 con un tamaño de área de cliente específico.

Al intentar crear una ventana usando el siguiente fragmento de código, toda la ventana es de 640x480, con el chrome de la ventana ocupando parte del área del cliente:

HWND hWnd; WNDCLASSEX WndClsEx; ZeroMemory(&WndClsEx, sizeof(WNDCLASSEX)); WndClsEx.cbSize = sizeof(WNDCLASSEX); WndClsEx.style = CS_HREDRAW | CS_VREDRAW; WndClsEx.lpfnWndProc = DefWindowProc; WndClsEx.cbClsExtra = 0; WndClsEx.cbWndExtra = 0; WndClsEx.hIcon = LoadIcon(NULL, IDI_APPLICATION); WndClsEx.hCursor = LoadCursor(NULL, IDC_ARROW); WndClsEx.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); WndClsEx.lpszMenuName = NULL; WndClsEx.lpszClassName = TEXT("Title"); WndClsEx.hInstance = hInstance; WndClsEx.hIconSm = LoadIcon(NULL, IDI_APPLICATION); RegisterClassEx(&WndClsEx); hWnd = CreateWindowEx( NULL, TEXT("Title"), TEXT("Title"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, hInstance, NULL);

Asumiendo que la matemática simple no resolverá del todo el problema, ¿cómo tomo en cuenta el tamaño de Chrome?

Nota: Estoy usando SDL después de crear la ventana, pero supongo que está vinculada al tamaño de la ventana y no hace diferencia en su tamaño.