如何设置按钮的X坐标而不更改:y,宽度,高度

时间:2010-08-08 23:56:16

标签: c++ winapi

我知道我可以使用MoveWindow移动它,但我只想移动x轴上的按钮。感谢。

1 个答案:

答案 0 :(得分:0)

我明白了。您可以使用GetWindowRect获取按钮的(屏幕)位置,然后您可以使用ScreenToClient在表单中获取它的位置。例如:

RECT buttonScreenRect;
GetWindowRect(hwnd, &buttonScreenRect);

POINT buttonClientPoint;
buttonClientPoint.x = buttonScreenRect.left;
buttonClientPoint.y = buttonScreenRect.top;

ScreenToClient(hwnd, &buttonClientPoint);

MoveWindow(hwnd, 50, buttonClientPoint.y, buttonScreenRect.right - buttonScreenRect.left, buttonScreenRect.bottom - buttonScreenRect.top);

希望它有所帮助!