WinAPI的控制定位不起作用?

时间:2014-12-05 22:44:25

标签: c++ winapi controls

当我尝试将静态控制位置设置为0,0并且大小与窗口大小相同时,一切正常。控制与窗口相同,但是当我试图使控件变小并放置它以使控制的每一侧都有相等的空间时它不起作用。在顶部有比在底部更多的空间,在左侧更多的空间比在右侧更多的空间。你能告诉我怎么做我想做的事吗?我正在使用的代码:

1: ghStatic = CreateWindowExW(WS_EX_CLIENTEDGE, L"STATIC", L"Foo", WS_CHILD | WS_VISIBLE | SS_CENTER, 0, 0, 300, 300, hwnd, nullptr, hInstance, nullptr);

2: ghStatic = CreateWindowExW(WS_EX_CLIENTEDGE, L"STATIC", L"Foo", WS_CHILD | WS_VISIBLE | SS_CENTER, 75, 75, 150, 150, hwnd, nullptr, hInstance, nullptr);

1 个答案:

答案 0 :(得分:0)

你是否使用CreateWindowExW函数来改变你的hwnd的大小?您不能使用此函数来更改hwnd大小,它用于创建控件,因为它将尝试重新创建已创建的内容。  尝试使用MoveWindow函数来改变hwnd的位置和大小:

MoveWindow(YourHWND, x, y, w, h, TRUE);
MoveWindow(ghStatic, 75, 75, 150, 150, TRUE);