Als Hinzufügen einer Menüband-Taste, gebe ich auch den Namen dafür. Es führt die gewünschte Aktion aus, aber die Platzierung der Saite ist absurd. Es sollte nicht über dem Bild, sondern darunter sein. Irgendwelche Vorschläge bitte. Code-Snippet und Screenshot hinzufügenWie wird Text auf der Multifunktionsleiste zugewiesen?
RibbonButtonProp* mRibbonProperties;
bool m_bsetlargeimage = FALSE;
if (ButtonProp.Lookup(m_nMenuItemID, mRibbonProperties) != 0)
{
if (ButtonProp[m_nMenuItemID]->m_bIfSmallButton == FALSE)
{
m_PanelImage.SetImageSize(CSize(32, 32));
m_PanelImage.Load(ButtonProp[m_nMenuItemID]->m_nImageResourceId);
m_bsetlargeimage = TRUE;
}
else
{
m_PanelImage.SetImageSize(CSize(16, 16));
m_PanelImage.Load(ButtonProp[m_nMenuItemID]->m_nImageResourceId);
m_bsetlargeimage = FALSE;
}
pRibbonButton = new CMFCRibbonButton(m_nMenuItemID, m_strMenuItemName, m_PanelImage.ExtractIcon(ButtonProp[m_nMenuItemID]->m_nImageIndex));
pRibbonButton->SetAlwaysLargeImage(m_bsetlargeimage);
Print should be just under the image
Ich schaute in afxribbonbutton.cpp, und fand diese Bildgröße für const CSize sizeImageLarge = m_pParent-> GetImageSize (TRUE); wird nur 16, 15 Pixel zurückgegeben, wobei es 40,40 sein sollte. Irgendwelche Ideen, warum es nicht die richtigen Längen liest? –