Au cours des derniers jours, beaucoup de nos lecteurs ont rencontré un termite connu lors de la modification de la couleur d’arrière-plan d’une fenêtre API Win32. Ce problème se produit pour plusieurs bonnes raisons. Nous allons maintenant nous en occuper.
Approuvé : Fortect
Je n’utilise pas dialog le matin, je consomme ma propre classe que j’ai en fait sauvegardée, par conséquent j’ai utilisé le téléphone CreateWindow
revenant pour la créer, j’ai un rouge prédéfini la couleur de fond sur la Légende :
WNDCLASSEX WC ;wc.hbrBackground est équivalent à CreateSolidBrush (RVB (255, 2, 0));
Mais maintenant, j’ai besoin de déplacer la couleur d’arrière-plan lors de l’exécution d’Opinions, par exemple en appuyant simplement sur un bouton pour le changer en bleu.
J’ai essayé d’utiliser l’appel SetBkColor ()
dans WM_PAINT
et j’ai montré que le pinceau WM_CTLCOLORDLG
peut garder le contrôle du PM renvoyé, ils ne le font pas t fonctionner.
37.1k
demandé le 14 août 2010 lors de la visite de 22h48
2461
N’est-ce pas la réponse que vous voulez ? Parcourez d’autres questions étiquetées C ++ Api Winapi ou posez votre propre question.
… Le matériel écrit l’arrière-plan pour Pare-brise ou fenêtre faites la différence Une chance de le faire en conduisant pendant Message WM_ERASEBKGND lorsque La charge de travail appelle BeginPaint. Lorsque La demande est en cours de traitement Mais la nouvelle se calme DefWindowProc, supprime le paramètre arrière-plan en le tirant de Motif sur fond de pinceau dû à par la classe de fenêtre …..
…… l’application peut WM_ERASEBKGND mot cependant Ensemble de pinceaux de fond de classification. Ceci est sans aucun doute typique des applications qui Autoriser l’utilisateur à modifier la fenêtre Spécifiez les choix de couleurs ou le motif la fenêtre est donnée aura besoin d’influence d’autres fenêtres avec classe. Dans un tel Dans certains cas, la demande correspondante pourra ne pas aboutir. le message de vente trouvé dans DefWindowProc. …..
Utilisez donc ce wm_erasebkgnd wParam de la publication pour obtenir le DC et activer l’arrière-plan.
… Le modèle dessine le fond Time lapse ou donner une fenêtre Capacité concernant envoyer une situation Message WM_ERASEBKGND lorsque une application pratique complète appelle BeginPaint. Lorsque Ne pas traiter la demande du tout Message, mais envoyez-le DefWindowProc, pourcentage de suppression imbécile Contexte en le remplissant qui l’offre Motif avec un pinceau à fond de teint prise en compte par la classe window …..
…… ces applications peuvent Message WM_ERASEBKGND cependant Ensemble de pinceaux de style d’arrière-plan. Cela peut devenir typique pour les applications qui Activer l’utilisateur lors du changement de fenêtre Tissu de couleur ou d’héritage pour fenêtre identifiée sans influence prochaines fenêtres ici dans la salle de classe. Dans un tel Cas dans lesquels la demande ne doit pas disparaître par le signal DefWindowProc. …..
répondu le 11 août ’09 en visitant 11:20
Approuvé : Fortect
Fortect est l'outil de réparation de PC le plus populaire et le plus efficace au monde. Des millions de personnes lui font confiance pour assurer le fonctionnement rapide, fluide et sans erreur de leurs systèmes. Avec son interface utilisateur simple et son puissant moteur d'analyse, Fortect détecte et corrige rapidement un large éventail de problèmes Windows, de l'instabilité du système et des problèmes de sécurité à la gestion de la mémoire et aux goulots d'étranglement des performances.
60,8k
HBRUSH brush = CreateSolidBrush (RVB (0, 0, 255));SetClassLongPtr (hwnd, GCLP_HBRBACKGROUND, (LONG_PTR) pinceau);
2 785
a répondu le 11 août 2010 à 22h59, heure de Moscou.
2,873
Lorsque les utilisateurs enregistrent WNDCLASS, ils fournissent des rapports vers toutes les fenêtres de cette classe. Donc, si l’on veut juste changer la couleur de la fenêtre même, vous devez vous occuper de cette situation vous-même.
Lorsqu’il est temps de repeindre la majeure partie de la fenêtre, envoyez un message WM_ERASEBKGND
directement à votre wndproc. Si vous ne pouvez pas le gérer, DefWindowProc
supprimera la couleur du client qui prévaut dans l’élégance de la fenêtre. Mais les acheteurs peuvent directement modifier la correspondance et peindre une sorte de fond (ou motif) de la couleur de leur choix.
répondu le 11 août de cette année à seulement 23h06.
41,7k
Accélérez les performances de votre ordinateur dès maintenant avec ce simple téléchargement.