Dans Windows Vista il y a plusieurs boutons avec un icône représentant un bouclier (Shield Icon). Voici comment le faire afficher.
La façon la plus facile est de passer par la macro, elle disponible dans C++Builder 2007:
Button_SetElevationRequiredState(Button1->Handle, true);
Sinon, il y a toujours moyen d'utiliser un envoie de message:
SendMessage(Button1->Handle, BCM_SETSHIELD, 0, TRUE);
Dans les deux cas la valeur de retour est 1 s'il n'y a pas d'erreur.
L'entête nécessaire est Commctrl.h, mais avec C++Builder vous n'avez pas besoin de l'inclure.
Si BCM_SETSHIELD n'est pas défini vous pouvez le faire avec le code suivant:
#define BCM_SETSHIELD 0x160C
Bien sûr, il faudrait mettre l'icône seulement si une élévation de droit est nécessaire. Cette commande fonctionne seulement avec Windows Vista, mais il n'y a pas de problème à l'utiliser dans d'autre système d'exploitation.
Partager