EFFET VITRE ET THUMBNAILS SOUS VISTA

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 12 oct. 2009 à 14:39
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 2 févr. 2011 à 20:12
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/50677-effet-vitre-et-thumbnails-sous-vista

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
2 févr. 2011 à 20:12
Yeah I noticed it also gave a black window on some specific instances but I'm not sure where it comes from and what causes this bug, sorry.
PussyLover Messages postés 1 Date d'inscription mercredi 2 février 2011 Statut Membre Dernière intervention 2 février 2011
2 févr. 2011 à 13:34
On D2010 I got black window.
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 oct. 2009 à 08:41
Bonne journée à toi aussi.

Cordialement, Bacterius !
phephelavi Messages postés 40 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 27 octobre 2009
14 oct. 2009 à 08:35
OK Bactérius, c'est avec plaisir et vivement ton wrapper. Bonne journée !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 oct. 2009 à 08:22
Non pas besoin de tuer la fiche par son processus, c'est moi qui ait omis l'option de quitter ...
Si j'ai des infos, je les ferai parvenir et je ferai peut-être même un petit wrapper qui rendrait les composants compatibles avec l'effet "glass"

Cordialement, Bacterius !
phephelavi Messages postés 40 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 27 octobre 2009
14 oct. 2009 à 08:16
Effectivement Bactérius, j'avais trouvé l'astuce par DrawExtendFrameIntoClientArea, on obtient juste la fiche d'un bel effet. Mais comme ce n'est pas facile à gérer pour rajouter du texte ou autre composant, de plus il faut "tuer" la fiche par son processus, j'ai travaillé sur le code de PhenixAuthor (http://www.developpez.net/forums/d18680/environnements-developpement/delphi/composants/deplacement-form-transparent-layered/#post132045). J'ai ainsi créé une fiche (avec un peu moins d'effet "glass" je le reconnais) mais avec le même type de forme. Ca donne un rendu sympa. En tout cas, ton code est très intéressant et si tu le fais évoluer, je serais à la première écoute !

A bientôt !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 oct. 2009 à 03:51
Pour la fiche par transparence, tu vérifies si tu es sous Vista, tu vérifies si Aero est activé (tu peux même l'activer mais en cas de version publique, pense aux utilisateurs sur batterie, car Aero la plombe), puis tu utilises la fonction DwmExtendFrameIntoClientArea avec les quatre margins à -1. Par contre, tu peux plus mettre de composants sur la fiche, sauf en les "subclassant" (en VB ça semble marcher en tout cas, au vu des screenshots, mais je sais pas faire en Delphi). Pour écrire du texte style vista (avec un petit halo autour), tu peux utiliser l'API DrawThemeTextEx, mais elle est très complexe (elle nécessite l'ouverture d'un thème avec OpenThemeData, et rien que ça j'y arrive pas ...).
Et souviens-toi que tu dois dessiner ta fiche en noir, pour que le rendu "vitre" soit effectif (j'ai laissé ma fiche noire, ça évite de redessiner soi-même, sinon un bon BitBlt dans le OnPaint de la fiche suffirait).

Ca pourrait être pas mal comme Splash Screen, si on trouvait comment écrire dessus ... mais Cirec a sûrement posté un snippet sur DrawThemeTextEx ... je m'en vais vérifier :p

Cordialement, Bacterius !
phephelavi Messages postés 40 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 27 octobre 2009
13 oct. 2009 à 19:38
Excellent Bactérius, l'effet est remarquable ! J'aurais bien voulu pouvoir utiliser uniquement la fiche par transparence
dans un de mes programme mais je dois avouer que je décortique ton code et je le trvaille au coprs à coprs mais j'obtient
pas le résultat escompté. Bon travail d'expert pour moi ! Cordialement
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
12 oct. 2009 à 14:39
Ah oui ça ne marche que sous Vista evidemment ... désolé ...

Cordialement, Bacterius !
Rejoignez-nous