У нас была такая же проблема с настройкой стиля BTNS_DROPDOWN для расширения CToolBar, которая стала более очевидной, когда масштабирование DPI было выше 100%.
Ссылка floyd73, кажется, не работает, но попытка установить стиль выпадающего меню отдельно через setbuttoninfo не сработала.
Решение, которое мы нашли, состояло в том, чтобы изменить масштаб панели инструментов после того, как стили были установлены для учета новых размеров кнопок с помощью SetSizes ():
auto imgList = GetToolBarCtrl().GetImageList();
if (imgList)
{
//Scale toolbar buttons to fit the correct scaled icons
CSize buttonSize(GetToolBarCtrl().GetButtonSize());
CSize imageSize;
ImageList_GetIconSize(imageList, &imageSize.cx, &imageSize.cy);
SetSizes(buttonSize, imageSize);
}
Мы вставили это в функцию NormalSize () для использования в конце любой пользовательской настройки панели инструментов, которая должна позволить нам поймать любой другой забавный бизнес по изменению размера с помощью стилей кнопок.
Надеюсь, это поможет любому, кто все еще сталкивается с той же проблемой.