0

这应该是一个简单的:

我有一个带有 2 个按钮的 CDialog。该对话框始终使用全屏打开(无标题栏\状态等...)m_pMainWnd->ShowWindow(SW_MAXIMIZE);

我希望我的按钮捕捉到屏幕的边缘。

没有调整大小或任何东西。

4

1 回答 1

0

您知道对话框的宽度 (GetClientRect)。你知道按钮的宽度。

假设你正在捕捉到右边缘......

在您的 CDialog::OnSize 内部:

 // Grab the CDialog's rect.
 CRect winRect;
 GetClientRect( &winRect );

 // Grab the button's rect.
 CRect buttonRect;
 button.GetClientRect( &buttonRect );

 // Now we need to set the top, left of the button to the right edge - the button width.
 // The y position will remain the same.
 button.SetWindowPos( NULL, winRect.right - buttonRect.Width(), buttonRect.top, 0, 0, SWP_NOZORDER | SWP_NOMOVE );
于 2009-11-19T11:08:54.727 回答