2017-07-25 7 views
1

Je veux obtenir la case à cocher par défaut du système pour l'afficher dans un menu MFC dessiné par le propriétaire. J'ai lu this question, mais cela n'a pas répondu à ma question.Comment puis-je obtenir la case à cocher par défaut du système BITMAP dans VS2015?

Je veux mettre en œuvre cette ligne:

hbmpCheckboxes = LoadBitmap((HINSTANCE) NULL, 
     (LPTSTR) OBM_CHECKBOXES); 

que je suis arrivé de MSDN, section Simuler cases à cocher dans un menu

Je reçois cette erreur: Erreur C2065 'OBM_CHECKBOXES': Identificateur non déclaré Si je le définis moi-même: #define OBM_CHECKBOXES 32759, et que je lance le code, LoadBitmap renvoie un handle. Dans VS2015 je vois ceci: hbmpCheckboxes 0xc305143c {unused=??? }, donc pour moi, il semble qu'un bitmaphandle invalide est retourné. Je pense qu'il y a plus de manques que juste définir les OBM_CHECKBOXES, mais je n'arrive pas à comprendre quoi.

  • Y a-t-il un fichier que je devrais inclure?
  • Y at-il une DLL que j'ai besoin de lier contre?
  • Y a-t-il un paramètre de projet à définir?
  • Ou ...?

Répondre

1

Jetez un oeil à ce topic.

Vous voulez utiliser CBitmap::LoadOEMBitmap et notez le commentaire en bas:

Note that the constant OEMRESOURCE must be defined before including WINDOWS.H in order to use any of the OBM_ constants.

+1

Belle réponse! Pas nécessaire, mais juste commentaire pour ma future référence! – sergiol