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ほど未使用です。

これらの 2 つのコントロールを完全な高さで使用する方法はありますか? pMyPanel->SetCenterColumnVert(); を使用できます。ただし、2 つのコントロールは垂直方向の中央に配置されていますが、まだくっついています。私が本当に求めているのは、コントロールの上下に多かれ少なかれ均等な間隔があることです。

問題2:これは次のようになります

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

これは本当に見栄えがよくありません。

SetJustifyColums() を呼び出すことができますが、これにより

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

これで十分に思えるかもしれませんが、ラベルの長さが逆の場合は次のようになります。

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

これは本当に大丈夫ではありません。

これを、あなたが通常ダイアログを作成するようにしたいと思います。ラベルは左揃え、コントロールも左揃え。

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

これらの問題はどのように解決できますか?

4

0 に答える 0