Zoom-In и Zoom-Out не могут изменить размер?

Я использую диалоговое окно предварительного просмотра печати MFC. Раньше я использовал BMP-изображение для представления этих кнопок масштабирования, и они работали нормально, но теперь вместо этого я хочу использовать текстовую маркировку. Но независимо от того, какое значение я использую, размер остается прежним, когда я запускаю программу. Вот ниже, что у меня есть:

IDD_FILE_KHANH_PRINT_PREVIEW DIALOG  0, 0, 219, 19
STYLE DS_SETFONT | WS_CHILD

FONT 8, "MS Sans Serif"
BEGIN

PUSHBUTTON "&Print",AFX_ID_PREVIEW_PRINT,2,3,36,12
PUSHBUTTON "Zoom &In",AFX_ID_PREVIEW_ZOOMIN,40,3,46,50
PUSHBUTTON "Zoom &Out",AFX_ID_PREVIEW_ZOOMOUT,70,3,46,12
PUSHBUTTON "Pre&v Page",AFX_ID_PREVIEW_PREV,100,3,46,12
PUSHBUTTON "&Next Page",AFX_ID_PREVIEW_NEXT,150,3,46,12
CONTROL "Landscape",IDC_LANDSCAPE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,230,3,67,13,WS_EX_CLIENTEDGE
PUSHBUTTON "&Close",AFX_ID_PREVIEW_CLOSE,300,3,35,13
END

ТАК я меняю значения для двух кнопок, и одна работает, а увеличение не работает, например:

PUSHBUTTON        "&Print",AFX_ID_PREVIEW_PRINT,2,3,136,12

это работает, потому что я вижу, что кнопка «Печать» имеет большую длину. Поэтому я меняю значение с 36 на 136.

PUSHBUTTON        "Zoom &In",AFX_ID_PREVIEW_ZOOMIN,40,3,146,50

Но этот не работает, потому что ZoomIn остается того же размера, и здесь я меняю 46 на 146.

Я считаю, что это единственное место, где я присваиваю значения кнопкам. Благодарю.


person Bopha    schedule 16.09.2011    source источник


Ответы (2)


Высота вашей кнопки «Увеличить и увеличить» составляет 50, но высота самого диалога составляет всего 19. Вы должны изменить высоту кнопки, чтобы она была 12, как и другие.

person Mark Ransom    schedule 16.09.2011
comment
Спасибо, что указали на это, и теперь я просто изменяю высоту с 50 на 13, поэтому будет так: 40,3,146,13. Но длина zoomIn не меняется. - person Bopha; 17.09.2011

Кажется, я сделал ошибку. До того, как я использовал растровое изображение для представления этих кнопок, и когда я решил использовать текстовую маркировку и забыл эту функцию ниже, которая загружает растровое изображение кнопок масштабирования. Итак, после комментирования операторов m_zoomIn и m_zoomOut они теперь работают.

int CKhanhPrintPreview::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CPreviewView::OnCreate(lpCreateStruct) == -1)
    return -1;

    m_pToolBar->EnableToolTips( TRUE );

    m_zoomIn.AutoLoad(AFX_ID_PREVIEW_ZOOMIN, m_pToolBar, IDB_PREV_ZOOMIN );
    m_zoomOut.AutoLoad(AFX_ID_PREVIEW_ZOOMOUT, m_pToolBar, IDB_PREV_ZOOMOUT );

    return 0;
}

Благодарю.

person Bopha    schedule 17.09.2011