2014-09-03 49 views
0

我有一個屬性表嚮導,它由右下角的三個按鈕Back,Next,Cancel作爲默認值。我們是否有可能將這些嚮導按鈕向左移動到工作表的中心底部底部的紙張中心,詳細說明這些按鈕應該朝向紙張的中心向左移動)?如何更改屬性表嚮導按鈕的位置?

回答

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); 
+0

感謝您的reply.See我希望他們能夠被移動到sheet.Doing的中心,你建議的控制的意志對他們留下來移動,但是我們如何才能將它們完全移到嚮導表的中心? – Siva 2014-09-04 05:35:33

+1

我不確定我瞭解你的問題。您的原始帖子詢問如何「將這些嚮導按鈕向左移動到紙張的中心底部(與底部的紙張中心完全相同,詳細地說,這些按鈕應該向左移動到紙張的中心)」。我的示例代碼顯示瞭如何將「返回」按鈕移動到**左**(中)50單位。計算紙張的實際中心並相應地調整移動並不困難。 – rrirower 2014-09-04 12:10:14