Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 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és1Date d'inscriptionmercredi 2 février 2011StatutMembreDernière intervention 2 février 2011 2 févr. 2011 à 13:34
On D2010 I got black window.
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 14 oct. 2009 à 08:41
Bonne journée à toi aussi.
Cordialement, Bacterius !
phephelavi
Messages postés40Date d'inscriptionmardi 16 mai 2006StatutMembreDernière intervention27 octobre 2009 14 oct. 2009 à 08:35
OK Bactérius, c'est avec plaisir et vivement ton wrapper. Bonne journée !
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 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és40Date d'inscriptionmardi 16 mai 2006StatutMembreDernière intervention27 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és3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 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és40Date d'inscriptionmardi 16 mai 2006StatutMembreDernière intervention27 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és3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 12 oct. 2009 à 14:39
Ah oui ça ne marche que sous Vista evidemment ... désolé ...
2 févr. 2011 à 20:12
2 févr. 2011 à 13:34
14 oct. 2009 à 08:41
Cordialement, Bacterius !
14 oct. 2009 à 08:35
14 oct. 2009 à 08:22
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 !
14 oct. 2009 à 08:16
A bientôt !
14 oct. 2009 à 03:51
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 !
13 oct. 2009 à 19:38
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
12 oct. 2009 à 14:39
Cordialement, Bacterius !