XP AERO GLASS

FREMYCOMPANY Messages postés 276 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 22 décembre 2008 - 13 oct. 2006 à 17:17
cs_davedave44 Messages postés 15 Date d'inscription samedi 2 janvier 2010 Statut Membre Dernière intervention 27 août 2011 - 21 août 2011 à 03:53
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/39878-xp-aero-glass

cs_davedave44 Messages postés 15 Date d'inscription samedi 2 janvier 2010 Statut Membre Dernière intervention 27 août 2011
21 août 2011 à 03:53
Bonjours,
Cela serait compliquer si je voulais l'utiliser pour faire une fenêtre personnaliser ?
Est-ce qu'on peut y mettre des controls c# qu'on a créer sois même
cs_Zap Messages postés 78 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 14 août 2010
2 avril 2008 à 12:38
>>J'ai un peu de mal à comprendre en quoi sont développées vos applis.
Mes applications sont développées avec différents langages, mais mon langage de prédilection est le PowerBASIC, avec lequel je développe toutes mes DLLs Win32 bas niveau, lesquelles s'interfacent avec tous les compilateurs Win32 ainsi que les langages managés de type DotNET.

>>Utilisez vous une librairie graphique
Oui, ma librairie graphique GDImage, dont les renseignements sont ici :
http://www.zapsolution.com/winlift/gdimage.htm

Patrice Terrier
www.zapsolution.com
shuttleur Messages postés 33 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 30 juin 2008
2 avril 2008 à 12:02
Merci de votre réponse détaillée.

Je me suis inscrit sur le forum que mous m'avez indiqué parce que je suis très emballé par ce que vous y présentez.

Le fait est que je dois développer une ihm pour un player (plutôt reader, aucune gestion de playlist, contrôle minimaliste) qui se présente sous forme d'activeX.

Je me suis lancé dans cette ihm en win32 car je n'ai pas de recul sur les technologies à ma portée, et je ne sais pas vraiment laquelle utiliser. (tout frais sorti de la fac :) )

Actuellement, je suis cantonné à une interface à base de bitmaps, et ca m'a l'air peu efficace.

J'ai un peu de mal à comprendre en quoi sont développées vos applis.
Utilisez vous une librairie graphique ?

Cordialement.
cs_Zap Messages postés 78 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 14 août 2010
2 avril 2008 à 11:10
Si vous travaillez en full mode Win32 (non managé) et que la programmation bas niveau SDK ne vous fait pas peur, alors je vous conseille d'étudier les différents code que j'ai posté sur le forum de José Roca (vous devez vous enregistrer sous votre nom réel pour pouvoir télécharger les sources) voir les différents liens ci-dessous :

- BassBox :
http://www.jose.it-berater.org/smfforum/index.php?topic=1364.0

- IconMenu :
http://www.jose.it-berater.org/smfforum/index.php?topic=1627.0

- MovieBox :
http://www.jose.it-berater.org/smfforum/index.php?topic=1586.0

- Carousel II
http://www.jose.it-berater.org/smfforum/index.php?topic=1327.0

Plus toute la série des SDK programming qui se trouve ici :
http://www.jose.it-berater.org/smfforum/index.php?board=151.0

Les codes sources ne sont pas écrits en C# mais en PowerBASIC, car je pratique plusieurs langages (y compris le W langage de WinDev).

Comme vous pourrez le constater les affichages sont parfaitement fluides, car je gère directement toute l'interface sans recourir a un moteur d'affichage comme dans VISUAL STUDIO.

Patrice Terrier
www.zapsolution.com
shuttleur Messages postés 33 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 30 juin 2008
2 avril 2008 à 09:13
Je n'ai pas compris dans votre code comment sont dessinés les bords (dégradés verticaux) (je ne connais pas C#)

Comment faites vous pour que le dégradé soit recalculé après un resize ?

Cordialement.
shuttleur Messages postés 33 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 30 juin 2008
2 avril 2008 à 09:06
Bonjour,

Je suis tout à fait convaincu par le rendu, par contre je trouve que c'est carrément lourd :s

(le moindre resize lagge, sur ma machine en tout cas)

Je suis en train de travailler sur un projet semblable en full win32, j'ai un souci avec les skins de mes boutons.
Le fait même que le bouton s'enfonce déplace mon skin, comment faire pour que le skin ne se déplace pas (en l'occurence vers le bas à droite) ?

Merci d'avance
cs_Zap Messages postés 78 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 14 août 2010
1 févr. 2008 à 20:44
Etant avant tout un programmeur Win32 SDK bas niveau (en mode procédural), ma connaissance de la POO est insuffisante pour que je puisse vous aider. J'utilise C# uniquement pour me faire la main, jamais en production.

Cordiales salutations
sorcer1 Messages postés 21 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 6 janvier 2009
1 févr. 2008 à 17:13
Bonjour et bravo pour ton trvail !

Il y a une seule chose qui est dommage c'est que l'on soit obligé de repliqué le code à chaque fenêtre créer!
En effet j'ai essayé de créer une WinForm héritant de MAIN_Form, mais lorsque l'on ferme la fenêtre il y a un espèce de masque de la fenêtre qui reste à l'écran!

C'est vraiment dommage car du coup on ne peut pas faire de l'héritage!

A moins qu'il y est une solution ?
slayer418 Messages postés 19 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 1 juillet 2009
18 mai 2007 à 04:21
Ca peux peut-etre vous paretre con comme question mais comment ont ouvre ces fichier?
ben2249 Messages postés 11 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 2 février 2009
12 avril 2007 à 12:05
Impressionant.. vraiment..
Utilisateur anonyme
5 févr. 2007 à 19:59
ok, merci pour ces précisions (rapide ... en plus)
FREMYCOMPANY Messages postés 276 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 22 décembre 2008
5 févr. 2007 à 19:26
Ca skinne une fenêtre, celle de l'exemple ;)

Ensuite, si tu fais des fenêtres héritants de l'exemple (moins tous les attributes inutiles), tu peux skinner toutes les fenêtres de ton application, mais pas celle des autres applications ;)
cs_Zap Messages postés 78 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 14 août 2010
5 févr. 2007 à 18:15
He Oui, c'est tout ;)
Utilisateur anonyme
5 févr. 2007 à 17:45
Hello !!

Bon, ben moi, j'suis débutant en prog csharp et visual C# 2005 et je n'ai pas réussi à faire fonctionner le skin !!!

En fait, je publie la solution, j'installe et lorsque je clique sur VISTA_skin et bien j'ai juste une fenetre qui s'ouvre et que je peux la rendre transparente. C'est tout ??? Je pensais que ce programme skinnait les fenêtres d'XP ou alors j'comprend rien à ce que c'est sensé faire.

Pouez-vous me donner de plus amples explications ?

Merci
cs_Zap Messages postés 78 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 14 août 2010
18 déc. 2006 à 12:02
LEPROC,

Il n'est pas possible de personnaliser des fenêtres sans recourir drectement à l'API Win32.

Un bonne connaissance des entrailles de Windows permet de contourner les limitations de DotNET, qui est très loin d'émuler toutes les fonctions du SDK bas niveau.
leproc Messages postés 81 Date d'inscription lundi 26 septembre 2005 Statut Membre Dernière intervention 22 octobre 2008
16 déc. 2006 à 13:35
J'ai tester ta source, sa marche super et je n'est pas d'erreur420.J'ai essayer de comprendre le fonctionnement, mais avec toutes ces api win32, c'est mission impossable.
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
24 oct. 2006 à 17:48
J'ai du faire une restauration système à cause d'un truc qui ne marchais plus correctement du fait j'ai retéléchargé ta source et je ne sais pas pourquoi maintenant elle marche.
Si quelqu'un a une idée pour me dire comment celà ce fait, il peut me le dire parce que moi je ne comprend pas.
cs_Zap Messages postés 78 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 14 août 2010
23 oct. 2006 à 20:55
Je viens de télécharger le ZIP et je l'ai décompressé dans un nouveau répertoire.

Tout fonctionne bien ici...
je n'ai pas d'erreur sur la ligne 420 de la classe SkinEngine.cs.

Quelqu'un d'autre a-t-il le même problème ?
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
23 oct. 2006 à 20:28
J'ai téléchargé la dernière version mais elle ne veut pas se lancer. Il y a une erreur ligne 420 de la class SkinEngine.Sk

Form.ActiveForm.BackgroundImage = bmpFrmBack;

il me dit que bmpFrmBack n'est pas instancié.
cs_Zap Messages postés 78 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 14 août 2010
23 oct. 2006 à 19:49
GG29 vous utilisez une version qui n'est pas à jour, car le code est identique à celui de BlackBox, il comporte outre le code de MAIN_Form.cs, deux classes distinctes :
- Win32.cs
- SkinEngine.cs
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
23 oct. 2006 à 19:06
Je trouve que les graphismes sont bien. Le code n'est pas très propre. tu aurai pu séparer ta class Skin comme tu l'a fais dans Black Box II. Autrement c'est bien. Moi je trouve que ça mérite un 8.
cs_Zap Messages postés 78 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 14 août 2010
23 oct. 2006 à 16:32
Celui qui a mis la note de 6, aurait dû poster un petit commentaire pour me permettre d'améliorer ma contribution ;-)
cs_Zap Messages postés 78 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 14 août 2010
13 oct. 2006 à 20:22
Pour améliorer les performances d'affichage vous pouvez désactiver "l'ombre portée".

// REM this out to disable the drop shadow effect.
Skin.UseDropShadow(hFORM_Main);
FREMYCOMPANY Messages postés 276 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 22 décembre 2008
13 oct. 2006 à 17:17
Très intéressant !
A savoir qu'en plus j'avais posté un code, il y a peu, qui même si il ne se contentait que de gerer le "Rendu de l'effet AERO-GLASS" me semblait déjà pas mal... et que j'admire grandement le travail effectué ici !
Une question seulement : est-ce cela ne nuit pas trop aux performances ??
En effet, mon code à moi (qui n'était surement pas un exemple d'optimisation, je le concède) en consommait déjà pas mal... ce que j'ai compensé en mettant au thread un status inférieur à ceux des applications (en gros l'applications passe avant le Design et Windows passe avant les applications), ce qui n'avait pas dérangé, mais qui permettait une fluidité parfaite tant du design que des applications, quelques soit le processeur et la carte graphique, et surtout le nombre d'applications en route...)

Sinon, je n'ai qu'un seul mot à dire : chapeau !
Rejoignez-nous