Je souhaite utiliser une zone de texte en lecture seule transparente en remplacement d'une étiquette; pour permettre aux utilisateurs de sélectionner + copier le texte. Exactement ce que l'Explorateur Windows utilise sur les propriétés du fichier fenêtre:Zone de texte transparente
J'ai trouvé la même question: Making a TextBox Transparent
Commentaires il indiqueraient que les solutions proposées ne fonctionnent pas avec ClearType. Mais mes tests du composant "AlphaBlendTextBox - Un textbox transparent/translucide pour .NET" suggèrent le contraire.
Quoi qu'il en soit, le code semble assez complexe pour une telle "tâche simple". Ils sauvegardent l'image de contrôle parent sur une image bitmap, dessinant cette image bitmap encore et encore avec le texte au-dessus. Je m'attendrais à ce qu'il y ait une solution déléguant le dessin de l'arrière-plan au contrôle parental.
Leur solution est peut-être complexe car elle permet également le mélange alpha. Je n'ai pas besoin de ça. Je veux juste voir un arrière-plan parent derrière le texte. Y a-t-il une manière plus simple/plus intelligente?
Notez que je suis satisfait de toute solution winapi (winapi pur, MFC, WinForms, Delphi, peu importe).
Merci pour votre réponse. Va le tester. En fait, j'ai inspecté le contrôle avec Spy ++ avant que je demande. Mais je n'ai rien trouvé d'intéressant sur les styles, donc j'ai supposé qu'il devait y avoir un wndproc assigné qui le rend transparent à la place. Savez-vous lequel de ces styles fait la magie? –
L'exclusion @MartinPrikryl de 'WS_EX_CLIENTEDGE' et l'inclusion de' ES_READONLY' devraient faire l'affaire. Encore une fois, vous pouvez juste le comparer avec un contrôle Edit éditable typique et voir quelle est la différence :) – JosephH
Merci pour votre temps! –