2010-10-01 17 views
1

Par exemple, Notepad ++ a une barre d'outils qui ressemble à ceci:Quelle est la bonne façon d'obtenir un dégradé dans une barre d'outils dans l'API Win32 (pas de MFC)?

Notepad++ toolbar

7-Zip a une barre d'outils qui ressemble à ceci:

(débordement de la pile ne me laisse pas poster plus de liens parce que Je suis nouveau)

Alors que le mien est ennuyeux et plat, comme ceci:

(débordement de la pile ne me laisse pas poster des liens plus parce que je suis nouveau)

Comment faire pour rendre ma barre d'outils 3D? Y a-t-il un paramètre qui me manque? Est-ce que je vais devoir dessiner le mien? Suis-je même en utilisant le bon contrôle? (Dois-je cela dans une barre d'armature?) Les exemples sont vraiment difficiles à trouver sur le web pour une raison quelconque.

+0

Ne pourriez-vous pas lier les images à la place? :) – Blam

+0

J'ai ajouté un lien. Ne me laisse pas ajouter plus:/ – Brian

Répondre

3

Explorer, 7Zip et Notepad ++ obtenir ce look à l'aide d'un Rebar comme parent d'une barre d'outils de style transparent.

1

Vous pouvez peut-être améliorer la barre d'outils en activant les styles visuels. Vous avez besoin de fichiers manifestes pour cela. Si vous utilisez MSVC, vous pouvez le faire avec un fichier manifeste en ligne sous la forme d'un #pragma.

#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' \ 
version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 
+0

En utilisant la version 6.0 déjà et InitCommonControlsEx. Les boutons, etc. ont l'air bien. – Brian

+0

merci pour ce pragma, j'ai toujours dû utiliser un fichier de ressources avec le manifeste intégré -.- – Milan

2

Ils utilisent simplement les contrôles Windows standard. Code source pour le bloc-notes ++ is available, regardez dans src \ poweritor \ wincontrols \ toolbar \ toolbar.cpp pour les appels CreateWindowEx.