Win32: Comment dessiner un contrôle d'édition personnalisé?

j'ai besoin pour mettre en œuvre la fonctionnalité de EM_SETCUEBANNERoù un texte soupçon apparaît à l'intérieur d'un contrôle d'Édition:

Win32: Comment dessiner un contrôle d'édition personnalisé?

Le hic, c'est que je ne peux pas utiliser la version 6 de la Commune de Contrôles, qui est ce qui est nécessaire pour obtenir le Microsoft fourni par la mise en œuvre d'un repère bannière.

j'ai regardé, en changeant simplement le texte de l'édition de contrôle, et le format de police à

Dark Gray Italic Text

mais qu'il va jeter Changement événements (emballage du composant fourni par la hausse de la bibliothèque de composants) que je ne peux pas trouver un moyen d'éviter.

J'ai donc été contraire à la coutume de dessiner le texte, le dessin de la queue de la Bannière de texte lorsque le contrôle est flou et vide, et de compter sur la peinture par défaut contraire.

Le contrôle d'Édition n'est pas bien exposer un dessin personnalisé mécanisme, comme ListView, TreeView et d'autres fournissent des.

D'autres personnes ont regardé dedansmais il semble être une tâche quasi impossible:

De la façon dont les choses sont à la recherche, je vais
avoir à gérer les éléments suivants
messages:

  • WM_ERASEBKGND, WM_PAINT (pour des raisons évidentes)
  • WM_SETFOCUS, WM_KILLFOCUS (pour éviter les
    la barre blanche à partir de l'affichage --
    décrit ci-dessus)
  • WM_CHAR (à traiter et mettre à jour les
    le texte dans le contrôle)

Et j'ai aussi besoin de trouver un moyen de
afficher le signe dans le contrôle, la
puisque je n'ai pas trouvé un moyen pour permettre à
Windows de le faire pour moi sans
la peinture de la barre blanche je l'ai mentionné.

Cela va être amusant. :rolleyes:

Étant donné que le contrôle d'Édition Windows n'a jamais été destiné à être personnalisés: personne ne sait comment dessiner personnalisé d'un contrôle d'Édition Windows?


Note: je vais aussi accepter des réponses qui permettent de résoudre mon problème, plutôt que de répondre à ma question. Mais quelqu'un d'autre qui voudrait la coutume de dessiner un contrôle d'Édition, de venir à travers cette question, il serait probablement une réponse.

source d'informationauteur Ian Boyd