2014-09-03 3 views
0

У меня есть мастер свойств, который состоит из трех кнопок Назад, Далее Отмена по умолчанию в правом нижнем углу. У нас есть возможность перемещать эти кнопки мастера по направлению к центру слева от листа (точно в центр листа внизу, подробно эти кнопки должны перемещаться влево к центру листа)?Как изменить положение кнопок мастера свойств?

ответ

1

Короткий ответ: да. Вам нужно будет создать собственный класс CPropertySheet и переопределить OnInitDialog(), чтобы переместить кнопки. Вам нужно использовать идентификаторы ID_WIZNEXT и ID_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

+1

Я не уверен, что понимаю ваш вопрос. Ваш оригинальный пост спросил, как «перемещать эти кнопки мастера по направлению к центру слева внизу (точно к центру листа внизу, подробно эти кнопки должны перемещаться влево к центру листа)». В моем примере кода показано, как переместить кнопку «Назад» на ** левый ** (в центре) 50 единиц. Нетрудно вычислить фактический центр листа и соответственно отрегулировать движение. – rrirower

Смежные вопросы