动态CButton余量

时间:2018-11-15 08:54:35

标签: button mfc

我正在使用此代码设置按钮的初始大小:

// Now check button sizes
auto *pDC = m_btnPreview.GetDC();
if (pDC != nullptr)
{
    pDC->SelectObject(GetFont());
    auto sizeActualSize = pDC->GetTextExtent(strButtonText);
    sizeActualSize.cx += 10;
    if (sizeActualSize.cx > rctOK.Width())
    {
        // We need to consistently resize both buttons
        int iButtonGap = rctCancel.left - rctOK.right;

        rctCancel.left = rctCancel.right - sizeActualSize.cx;
        rctOK.right = rctCancel.left - iButtonGap;
        rctOK.left = rctOK.right - sizeActualSize.cx;

        GetDlgItem(IDOK)->MoveWindow(rctCancel);
        m_btnPreview.MoveWindow(rctOK);
    }

    ReleaseDC(pDC);
}

工作正常。我正确设置了字体,以便返回的大小正确。但是我添加了一个值10来填充它,以使按钮看起来更好:

Moved button

按钮周围的默认间距是否存在特定的MFC常数?而不是伪造一个10的值?

0 个答案:

没有答案