2009-04-07 8 views
1

Nous avons un écran tactile, et la barre d'outils est trop petite pour frapper avec mes doigts charnus. Existe-t-il un moyen facile d'avoir une option pour rendre les boutons de la barre d'outils plus grands et plus faciles à toucher?Comment pouvez-vous agrandir les boutons d'un CToolBar C++ MSVS avec leurs images?

Jusqu'à présent, j'ai essayé quelques petites choses:

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)); 

Aucune de ces approches étend les images aussi bien. Les boutons deviennent plus grands et sont entièrement fonctionnels, mais les images ne chevauchent pas les boutons comme ils le feraient normalement. Je préférerais garder une seule liste d'images pour les icônes, et faire étirer les images.

+0

J'ai décidé d'utiliser une deuxième ressource TOOLBAR et d'éditer les images manuellement. Les mettre à l'échelle automatiquement serait une meilleure solution (échelle allant de grande à petite), de sorte que vous n'auriez pas besoin de mettre à jour deux barres TOOLBAR chaque fois qu'il y a un changement. – Kieveli

Répondre

1

Lors de la création de la barre d'outils, créez un CImageList vide de taille 64x64 (appelons-le grand). Chargez la liste d'images d'origine à partir des ressources (nous l'appelons small).

itérer sur chaque image dans petit et copier/redimensionner à grand. Affectez ensuite grand à votre barre d'outils. Un peu plus encombrant devrait fonctionner.

HTH,

1

Pour autant que je sais qu'il n'y a aucun moyen de faire des images redimensionner la taille des boutons. Les applications MFC utilisent des images bmp et non vectorielles.

Vous devrez donc fournir une image bmp avec les tailles désirées.

Vous pouvez utiliser un CImageList et SetImageList pour définir les images mais vous devrez
initialize images là avec la taille disired aussi.