リボン付きの標準アプリを作成し、これを 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ほど未使用です。
これらの 2 つのコントロールを完全な高さで使用する方法はありますか? pMyPanel->SetCenterColumnVert(); を使用できます。ただし、2 つのコントロールは垂直方向の中央に配置されていますが、まだくっついています。私が本当に求めているのは、コントロールの上下に多かれ少なかれ均等な間隔があることです。
問題2:これは次のようになります
Short: [______________________|v]
Longer label: [___]
これは本当に見栄えがよくありません。
SetJustifyColums() を呼び出すことができますが、これにより
Short: [______________________|v]
Longer label: [___]
これで十分に思えるかもしれませんが、ラベルの長さが逆の場合は次のようになります。
Longer label: [______________________|v]
Short: [___]
これは本当に大丈夫ではありません。
これを、あなたが通常ダイアログを作成するようにしたいと思います。ラベルは左揃え、コントロールも左揃え。
Short: [______________________|v]
Longer label: [___]
これらの問題はどのように解決できますか?