5

使用功能区创建一个标准应用程序,然后将其添加到 CMainFrame::InitializeRibbon() 的适当位置。

// Create panel

CMFCRibbonPanel* pMyPanel = pCategory->AddPanel(L"Test", m_PanelImages.ExtractIcon(27));

// Add wide combobox with short label to panel

m_pMyCombo = new CMFCRibbonComboBox(ID_MYCOMBO, false, 150, L"Short:");
m_pMyCombo->AddItem(L"Just some test data");
pMyPanel->Add(m_pMyCombo);

// Add narrow edit with longer label to panel.

CMFCRibbonEdit* pMyEdit = new CMFCRibbonEdit(ID_MYEDIT, 50, L"Longer label:");
pMyPanel->Add(pMyEdit);

问题 1:组合框“粘”在面板顶部。编辑控件“粘”在组合框上。大约有 1/3 的高度未使用。

有没有办法让这两个控件使用全高度?我可以使用 pMyPanel->SetCenterColumnVert(); 但是这两个控件仍然粘在一起,尽管它们现在是垂直居中的。我真正想要的是控件上方和下方的间距或多或少均匀。

问题2:这看起来像

Short: [______________________|v]
Longer label: [___]

这看起来不太好。

我可以调用 SetJustifyColums() 但这会导致

Short: [______________________|v]
Longer label: [___]

这可能看起来还不错,但是如果标签的长度相反,它会给出:

Longer label: [______________________|v]
Short: [___]

这看起来不太好。

我真的很想让这个就像你通常会进行对话一样。标签左对齐,控件也左对齐。

Short: [______________________|v]
Longer label: [___]

如何解决这些问题?

4

0 回答 0