Question

J'ai créé une barre d'outils avec des contrôles sur l'aide des barres d'armature dans une fenêtre. Quelqu'un peut-il me dire s'il vous plaît,

  1. Comment obtenir le HWND d'un boutons / combobox / etc (boutons pas normal dans une fenêtre) si je sais (seulement) le numéro de celui-ci?
  2. Comment obtenir le HBITMAP si je sais que l'identifiant de la ressource?
  3. Comment définir le bitmap au contrôleur?

    SendDlgItemMessageW (HWND, NID, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM) hBitmap);

Ce ne fonctionne pas pour les barres d'outils, non? Je ne pouvais pas trouver un moyen de le faire, s'il vous plaît aidez-moi. Merci ...

Cordialement

EDIT: Tout le monde s'il vous plaît? : (

EDIT: D'accord. il semble tout le monde est occupé ces jours-ci. :( BTW, est-ce une mauvaise question?

Était-ce utile?

La solution

Vous pouvez télécharger ControlSpy et essayer il là pour avoir une idée pour elle.
J'ai vérifié le Rebar et a vu que RB_SETBANDINFO (sous Messages ) pourrait être ce que vous recherchez.

Autres conseils

GetDlgItem fonctionnera tout aussi bien avec un Rebar comme il le fait avec une boîte de dialogue.

  

Vous pouvez utiliser la fonction GetDlgItem avec une paire de fenêtre parent-enfant, non seulement avec les boîtes de dialogue. Tant que le paramètre hDlg spécifie une fenêtre parent et la fenêtre enfant possède un identificateur unique (tel que spécifié par le paramètre hMenu dans le CreateWindow ou la fonction CreateWindowEx qui a créé la fenêtre enfant), GetDlgItem renvoie un descripteur valide pour la fenêtre enfant.

Vous pouvez utiliser LoadImage pour charger une image bitmap à partir d'une ressource et retourner le HBITMAP.

Enfin, SendMessage(hWndButton, BM_SETIMAGE, (WPARAM) IMAGE_BITMAP, (LPARAM) hBitmap);

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top