WinAPI的控件的定位不能用?

问题描述 投票:-1回答:2

当我试着将静态控件的位置设置为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);
c++ winapi controls
2个回答
0
投票

你是否使用CreateWindowExW函数来改变你的hwnd的大小?你不能用这个函数来改变hwnd的大小,它是用来创建控件的,因为它会试图重新创建已经创建的控件。尝试使用MoveWindow函数来改变hwnd的位置和大小。

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

0
投票

试着用函数 SetWindowPos.

SetWindowPos 功能设置控件的位置。

© www.soinside.com 2019 - 2024. All rights reserved.