【问题标题】:how to change the position of the property sheet wizard buttons?如何更改属性表向导按钮的位置?
【发布时间】:2014-09-03 13:33:38
【问题描述】:

我有一个属性表向导,它由右下角的三个按钮返回、下一步、取消作为默认值。我们是否有可能将这些向导按钮向左移动到工作表的中心底部到底部的工作表中心,详细地说,这些按钮应该向左移动到工作表的中心)?

【问题讨论】:

    标签: visual-c++ mfc


    【解决方案1】:

    简短的回答是肯定的。您需要派生自己的 CPropertySheet 类并重写 OnInitDialog () 以移动按钮。您需要使用 ID ID_WIZNEXTID_WIZBACK 来获取指向实际按钮的指针。一旦有了指针,就可以像使用 CWnd::MoveWindow 的任何其他控件一样移动按钮。这是一些示例代码(缺少错误检查)...

    CWnd* pWnd = GetDlgItem(ID_WIZBACK);
        CRect rect(0, 0, 0, 0);
    
        pWnd->GetWindowRect(&rect);
        rect.OffsetRect(-50, 0);
        ScreenToClient(&rect);
        pWnd->MoveWindow(&rect);
    

    【讨论】:

    • 感谢您的回复。看到我希望将它们移动到工作表的中心。按照您的建议,控件将向左移动,但我们如何才能将它们完全移动到向导表的中心?
    • 我不确定我是否理解您的问题。您的原始帖子询问如何“将那些向导按钮向左移动到工作表的中心底部(精确到底部的工作表中心,详细地说,这些按钮应该向左移动到工作表的中心)”。我的示例代码显示了如何将“后退”按钮移动到 left(中心)50 个单位。计算片材的实际中心并相应地调整运动并不难。
    猜你喜欢
    • 2021-03-04
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 2015-06-03
    • 2014-12-31
    • 2011-08-06
    相关资源
    最近更新 更多