Как вы можете сделать кнопки MSVS C ++ CToolBar больше вместе с их изображениями? - PullRequest
1 голос
/ 07 апреля 2009

У нас есть сенсорный экран, а панель инструментов слишком мала, чтобы поразить ее мясистыми пальцами. Есть ли простой способ сделать кнопки на панели инструментов больше и проще нажимать?

Пока я пытался сделать несколько вещей:

m_toolbar.SetSizes( CSize(64,64), CSize(50,50) );
m_toolbar.SetSizes( CSize(64,64), CSize(50,50) );
m_toolbar.GetToolBarCtrl().SetButtonWidth( 64, 64 );
m_toolbar.GetToolBarCtrl().SetButtonSize( CSize(64, 64) );

Ни один из этих подходов также не растягивает изображения. Кнопки становятся больше и полностью функциональны, но изображения не перекрывают кнопки, как обычно. Я бы предпочел сохранить единый список изображений для значков и растянуть изображения для соответствия.

Ответы [ 2 ]

1 голос
/ 08 апреля 2009

Насколько я знаю, нет способа изменить размер изображения в зависимости от размера кнопок. Приложения MFC используют bmp, а не векторные изображения.

Таким образом, вам нужно будет предоставить изображения bmp с отклоненными размерами.

Вы можете использовать CImageList и SetImageList для установки изображений, но тогда вам придется
инициализируйте изображения там также с нарушенным размером.

1 голос
/ 07 апреля 2009

Во время создания панели инструментов создайте пустой CImageList размером 64x64 (назовем его large ). Загрузите исходный список изображений из ресурсов (мы называем это small ).

Переберите каждое изображение в small и скопируйте / измените его размер до large Затем назначьте large на панель инструментов. Несколько громоздкие буи должны работать.

НТН,

...