EDIT ET STATIC TRANSPARENTS SUR FOND BMP

cs_NeoUmbrella Messages postés 104 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 11 septembre 2008 - 24 août 2008 à 18:46
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 - 31 mars 2009 à 00:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47711-edit-et-static-transparents-sur-fond-bmp

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
31 mars 2009 à 00:18
Je ne connaissais pas cette fonction car je n'aime pas utiliser les thèmes. Je viens de voir que c'est une fonction assez récente car disponiple depuis XP. Merci de l'avoir mentionnée ça pourrait toujours servir.
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
30 mars 2009 à 21:24
J'ai trouvé, il faut utiliser DrawThemeParentBackground() et détecter les thèmes XP pour les statics.
En revance pour les edits il faut remplacer par des richedit avec WS_EX_TRANSPARENT
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
30 mars 2009 à 19:43
Bonjour Victorcoasne et merci pour la note. Désolé de répondre tard car j'étais très occupé tout ce mois de mars.
Pour ta question j'aimerais juste rappeler qu'un CheckBox est un bouton. Or, dans mon code je sous-classe un Static et un Edit. Il est donc possible d'avoir des anomalies. Si j'ai un peu de temps je ferai des test et je verrai comment y remédier.
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
15 mars 2009 à 13:44
Très bonne source, j'ai juste un problème :
J'ai essayé de mettre un checkbox à la place de ton static mais il apparaît comme noir.
As-tu une idée, pourquoi ?
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
11 sept. 2008 à 22:13
Miquel75 >> Pourquoi est-tu toujours si arrogant? Il parait que c'est pour cacher ton ignorance. Toutes tes interventions sur le site sont totalement inutiles. Pas la moindre argumentation, tu parles toujours de USENET ou MSDN mais sans donner le moindre lien. Tu donnes même l'impression de quelqu'un qui se croit au dessus des autres mais qui, en réalité, comprend les choses à l'envers. Cela fait des mois qu'on attend ton premier code source sur le site pour nous apprendre à programmer. Alors qu'est-ce que tu attends? Tu as peur de t'exposer? Es-tu complexé par ce que font les autres?
cs_NeoUmbrella Messages postés 104 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 11 septembre 2008
11 sept. 2008 à 19:00
Hello Miquel75, j'ai cherché dans msdn mais pas trouvé, peux tu m'aiguiller ?
Sinon j'ai pas compris pourquoi le code de racpp était horrible.
Miquel75 Messages postés 41 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 23 avril 2009
11 sept. 2008 à 18:48
Quel code horrible (débutant manifestement...)
Et surtout mauvaise méthode.
Voir la méthode officielle dans MSDN, notamment pour RichEdit control.
whyspee Messages postés 12 Date d'inscription jeudi 29 juin 2006 Statut Membre Dernière intervention 26 août 2008
26 août 2008 à 09:33
OK merci :)
J'vais déjà voir si j'peux faire ça en VB.Net sinon en C#.
:)
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
25 août 2008 à 23:04
Merci pour la note et les commentaires.
NeoUmbrella >> Je n'ai jamais essayé avec un RichEdit. Je pense effectivement que les choses peuvent se compliquer à cause des défilements. Il faudra bien comprendre le fonctionnement interne des RichEdits, surtout comment ils sont dessinés, pour pouvoir envisager une solution.
Whyspee >> Je pense que tous les langages pour Windows sont capables d'utiliser les APIs de la GDI. Ceci s'appliquerait donc au C#. Tu peux suivre la démarche de mon code pour l'appliquer dans ton code C#.
whyspee Messages postés 12 Date d'inscription jeudi 29 juin 2006 Statut Membre Dernière intervention 26 août 2008
25 août 2008 à 10:45
Par contre j'ai une question : vous croyez que ça (exactement le même code), c'est faisable en C# ???
whyspee Messages postés 12 Date d'inscription jeudi 29 juin 2006 Statut Membre Dernière intervention 26 août 2008
25 août 2008 à 10:41
Ouais super code ! Je cherchais ça depuis longtemps mais perso je cherchais ça pour une RichTextBox puis j'y connais rien en C. :S
Mais j'vais essayer d'me débrouiller avec ça. :D
cs_NeoUmbrella Messages postés 104 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 11 septembre 2008
24 août 2008 à 18:46
Hello, merci pour ce code source.
J'aimerais savoir si tu sais faire la meme chose mais pour une richeditbox.
J'ai bien tenté d'ajouter le style WS_EX_TRANSPARENT ou de sous-classer la RichEdit et de dessiner mon bitmap sur le DC lorsque j'intercepte le message WM_ERASEBKGND mais pour les deux solutions, lorsque j'ajoute du texte a la rich ou que je fait défiler le texte avec la scrollbar, c'est saccadé.
Merci
Rejoignez-nous