SKINS B1 AVEC TRANSPARENCE, MODIFIEZ L'ESTHÉTIQUE DE VOS APPLICATIONS À VOTRE GU

FearBlue Messages postés 149 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 26 octobre 2008 - 5 mars 2005 à 10:19
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 17 juin 2006 à 12:16
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/29918-skins-b1-avec-transparence-modifiez-l-esthetique-de-vos-applications-a-votre-guise-w2k

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 juin 2006 à 12:16
nouvelle version disponible :
http://www.vbfrance.com/codes/SKIN-B2-OU-PRESQUE-MODIFIEZ-ESTHETIQUE-VOS-APPLICATIONS_38138.aspx

niveau 2 pour faire plaisir à Saros ;)
++
PCPT [AFCK]
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 sept. 2005 à 10:33
LDX > une rectification:
"OR compare 2 éléments, bit par bit. S'ils sont indentiques => 0 sinon => 1"
La définition est celle du XOR, donc fausse malgré que l'exemple que tu donnes est juste.

OR donne 1 si au moins 1 des 2 bits est à 1.
0 OR 0 => 0
0 OR 1 => 1
1 OR 0 => 1
1 OR 1 => 1
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
14 sept. 2005 à 05:47
bah non, j'sais pas pourquoi. (et je préfère pas me faire de fausses idées)
mais merci ;)
PCPT
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
14 sept. 2005 à 05:25
9,5/10
0,5 en moin, pour tu sais quoi.
si non, ca aurai fait 10

BON TRAVAIL. j'attend la suite :)
rachid_rachid Messages postés 9 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 21 octobre 2005
2 sept. 2005 à 12:53
je vous donne 08/10 pour cette participation ... et bonne courage.

Detective conan
SupraDolph Messages postés 196 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 1 septembre 2008 1
5 août 2005 à 13:40
Slt à tous, je parcourai un peu mes sources et je suis arrivé à ce lien :)
merci à LDX et PCPT de me citer sa fait toujours plaisir !
le prog a évoluer c'est très bien !
continue comme sa.
SupraDolph.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 juin 2005 à 16:49
thanks Nix (je suppose)...
PCPT
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 mai 2005 à 21:03
Bonsoir à tous
si certains sont impatients, désolé mais je n'ai pas le temps d'avancer sur la B2 en ce moment. Mais soyez rassurés, j'y pense (à l'occasion -_-)

PCPT
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 avril 2005 à 23:01
aidez moi à l'améliorer, et c'est promis, je mettrais la SKINS B2 en niveau initié ;)
sacagez-là, testez-là à fond, me dite pas qu'elle est sans défaut, si? :-p

et je n'ai toujours pas trouvé la solution pour les curseurs personnalisés non-colorés....

en l'attente
PCPT
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
3 avril 2005 à 22:21
Dis... à ce stade je comprendrais si tu mettais ta source au moins niveau initié... au moins ^^
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 avril 2005 à 19:25
n'hésitez pas à laisser des commentaires, je n'ai fait aucune modification pour le moment, alors tous à vos claviers ;)

PCPT
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 mars 2005 à 15:50
Et voila, encore une mise à jour ;)
LDX,
j'ai inséré le "Set ...", mais je reste dubitatif quant au réel intérêt. "SKIN MAC" à l'ouverture me prenait 5Mo de RAM. Elle n'en prend plus que 3. Moins de ressources, donc j'applique et abdique, (cf MSDN qui conseille d'utiliser aussi Set Object = Nothing), mais çà ne change rien en fermeture (3Mo relachés, 5Mo sans le SET).

Houla oui, en binaire, la dernière fois c'était.... pfiouuu, pour calculer les plages d'adresses réseau afin d'obtenir la meilleure passerelle, c'est pas récent non plus -_-, cela dit, j'avais même pas fait le rapprochement, pour te dire...

Pour les "80%", au dessus, çà devient trop transparent et inutile. La fameuse petite mamy qui arrive à 97%, un petit coup de frayeur, elle quitte le menu, ne retrouve pas sa forme (ni celle d'antan....), elle redémarre son nouvel ordi flambant neuf, se retrouve avec un message "Is Already Running" parce qu'elle aura quitté le programme, mais que cette fenêtre aura empêché la fermeture complète, et conclusion, j'ai à payer ses frais de Pace-Maker ...
Et pour la "confusion", je ne crois pas m'être trompé : je choisi "20% DE TRANSPARENCE", pas "20% D'OPACITE" ou "20% VISIBLE". donc 255 0% de transparence, 20% de transparence 255-(20/100*255)
Je vois pas de confusion... j'applique le %AGE DE TRANSPARENCE choisi.

Pour ton analyse "officielle", je te remercie. En effet, je me suis mal vendu. Je viens de mettre à jour un peu la description (par rapport à l'explication existante dans MAJ), et changer de rubrique, on verra.

Pour les contrôles de Rey (RenField), je les avais déjà vu, mais d'une part, je but de ce programme est de Skinner SON appli. Or si je met les contrôles de Rey, ce n'est plus une skin que je fais, mais juste une appli, ce qui n'est pas le but (bon, on verra dans SKINS V2 si la demande se présente).
Et pour ces contrôles en particuliers, toujours sur une configuration graphique "merdique", l'effet prend près de 2 secondes, impensable (entre le temps de "fenêtre affichée", et "contrôles transparents).
(Mais le rendu du SCROLLBAR est pas mal)

Je développe une appli à coté, ou j'utilise un moyen totalement différent : RTB transparent, 1PIC blanche décorée, 1PIC contenant l'image à afficher, et IMGFOND reçoit le BLEND des 2 PICS, juste sous le RTB transparent. Temps d'execution : instantané, aucun scintillement, AlphaBlend de PIC1 réglable.

En tout cas, je suis content que ma source te plaise.
Profite tant qu'elle est libre de droits ;)
Merci pour ton enthousiasme et tes conseils !
Soon,
PCPT
ldx Messages postés 23 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 3 mai 2005
11 mars 2005 à 12:42
A la relecture de tout l'ensemble, tu es un peu responsable du manque de commentaire. Tu ne t'es pas bien vendu ! "Ta description de la source" n'est pas encourageante
ldx Messages postés 23 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 3 mai 2005
11 mars 2005 à 12:36
bonjour

Merci pour le message. Je voulais dire 1Go Ram et non 1Mo

2 choses :

J'avais oublié de répondre ...
Set alpha... nothing> Libération place en mémoire.

Il semble que les variables "collection, objet tel que form, control, ..., pointeur vers" sont en quelque sorte désactivées, inaccesibles, à la sortie d'une proc mais ne libèrent pas réellement la place en mémoire.

Tu as le même effet lorsque tu quittes un prog. Et même un "END" ne libère pas la place de ces "objets" ... L'instruction à appliquer est :

dim EltEnCours as form

For Each EltEnCours In Forms
Unload EltEnCours
Set EltEnCours = Nothing
Next

End

...

Ce n'est pas de moi (je ne suis pas assez calé)

Je suis sensible à l'occupation de la mémoire depuis que, chez un client, des essais répétitifs avec sortie d'un de mes programme avait fini par planter le poste client (En réseau avec d'autres applic. tournant)


rendre "Null" tout pointeur, variable de type objet, ...,
chaque fois que l'on en avait plus besoin a résolu le problème chez le client. L'applic sortait "proprement"

le "LWA_ALPHA OR LWA_COLORKEY" ou "&H3" ? :

C'est kifkif bouricot ! du pareil au même !

Que se passe-t'il avec le "OR" ? une opération binaire entre les 2 valeurs

LWA_ALPHA => Hexa : 1 Binaire : 0001
LWA_COLOR... => Hexa : 2 Binaire : 0010

Rappel : "OR" compare 2 éléments, bit par bit. S'ils sont indentiques => 0 sinon => 1

Ici : 0001
0010
--------
0011 en binaire ce qui donne ... 3 en hexa

cqfd

Le temps CPU ? la différence vient donc probablement du fait que dans ma proposition il calculait à chaque passage dans ALPHA_SCROLL_SCROLL la valeur, alors que tu ne le faisais pas avec la valeur "&H3" => je prend ta propo.

Ca fait ben longtemps que je n'avais fait du binaire. Tout cela ne me rajeunit pas...


... et en bloquant toujours à 80% :

Je ne connais pas tes motifs pour avoir bloqué à 80 %. Mais, il m'a semblé qu'il y avait eu une petite confusion dans l'écriture initiale de ton instruction. Il m'a paru que ce que tu saisissais dans ton menu n'était pas un coef de transparence mais un coef d'opacité (sans t'en rendre compte d'ailleurs). J'avais rencontré, en son temps, la formule que tu avais employé pour le calcul . Et j'avais du la modifier pour qu'elle traduise bien un coef de transparence. C'est pour cela qu'ici, à travers ma proposition, je suis monté à 99. J'aurais pu mettre 100 sans problème (je l'ai testé). Simplement la souris n'est pas assez précise, et je ne générais cette valeur qu'aléatoirement ...

Ouf ! je n'ai jamais autant écrit sur VB. C'est dire que ton programme est intéressant.

Je suis d'accord avec toi sur le fait qu'il est dommage que ton source n'attire pas plus de commentaire. Mais cela réside peut-être dans le "Que m'apporte ce prog ?"
Je vais donner ici mon avis personnel:

Form particulière au gré des fantasmes du concepteur...
Si je ne me plonge pas dans le prog, je peux penser que tu as "dessiné" plusieurs types de form sur lesquels tu as appliqué une transparence => C'est connu ! il y a plusieurs exemples du même acabit.

OR, CE QUE TU APPORTES C'EST LA CONSTRUCTION "DYNAMIQUE" MORCEAU PAR MORCEAU DE FORMS PARTICULIERES et ça ce n'est pas courant !
Là tu m'apportes une solution répercutable dans mes programmes.

La Transparence ? TU DONNES UN BON EXEMPLE A DEUX NIVEAUX : SUPPRESSION D'UNE COULEUR ET OPACIFICATION D'UN FORM, D'UTILISATION HYPER RAPIDE. Beaucoup plus rapide que l'utilisation du Combine région... ce n'est pas courant.

TU TRANSPOSES UN OUTIL (slide rotatif) trouvé sur VB DANS UNE APPLIC. Pour celui qui se poserait la question sur l'utilisation de ce slide (source 6603) tu fournis une réponse ... qui me titille pour l'utilisation dans mes progs

Ce qui manque peut-être dans ton applic, c'est la présence de contrôles utilisables (si tu ne l'as déjà vu, visualise vbfrance_source_19387_CONTROLES TRANSPARENTS_par RenField) qui donneraient l'aspect d'une vraie application et non pas d'un essai ou exemple, et donnerait envie de se pencher plus ...

Je n'ai fait qu'exprimer mon sentiment. Ton prog m'apporte et je te remercie d'en avoir déposé le source.


Portes-toi bien, ainsi que tous les lecteurs éventuels de ce commentaire, et à te lire...
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 mars 2005 à 07:53
Salut,
bon, donc après test de ton "OR", l'effet est le même, à cette différence : la consommation de ressources.
ton OR : 96% CPU pendant le SCROLL, contre 64% avec mon "&H3" :-p (en faisant le barbare quand même ;)...)

Pour le .manifest, cf ci-dessus (5ème post), Saros m'avait déjà demandé.

Pour l'effet d'ouverture de la fenêtre, j'avais fait les tests en "400", mais comme j'arrête pas de créer des exe pour tester sur mon 2e poste (avec carte graphique), j'avais laissé en 150. Toujours est-il que je suis content de savoir que çà fonctionne au moins sur ton PC... je ne le mettrais pas, tout le monde n'a pas ta config.. (quoi que, 1Mo de RAM, çà doit pas être évident... :-D [non, mais les effets graphiques, il faut un minimum, donc pour la carte. ton Go de RAM y est pour peu])

Bon, donc finalement, tu m'as conseillé ce rendu alpha en direct, donc je l'ai mis, mais avec la gestion du %age actuel, + la position du point dans le ALPHA_SCROLL, et en bloquant toujours à 80%.
Je n'ai pas mis la source à jour, mais voici les modifs :
(ps : j'ai déclaré les variables utilisées plus d'une fois, dans les déclarations générales des forms concernées)

-->FORM_SKIN [Général]
Public AlphaTranspPercActuel As Integer

-->MOD_LOADER [Function NouvelleInstanceSkin(...)]
FORM_GENEREE.AlphaTranspPercActuel = 0

-->MOD_ACTIONS_FORM [Simule_Ctrl_MouseUp]
'à l'appel du menu (Buttonb 2 & Indexi 13)
FORM_MENU_SKIN.LBL_MENU(6).Caption = " " & AliasForm.AlphaTranspPercActuel & "% de transparence"
FORM_MENU_SKIN.ALPHA_SCROLL.Value = AliasForm.AlphaTranspPercActuel
FORM_MENU_SKIN.TagAppelant = AliasForm.Tag

-->FORM_MENU_SKIN [General]
Public TagAppelant As String
Dim CoefTransparence As Byte
Dim AliasForm As Form

-->FORM_MENU_SKIN [LBL_MENU_Click]
Case 6: 'rien à faire

-->FORM_MENU_SKIN [ALPHA_SCROLL_SCROLL]
'cette partie modifiée sous le conseil de LDX
If ((ALPHA_SCROLL.Value > 80) Or (ALPHA_SCROLL.Value < 1)) Then ALPHA_SCROLL.Value = 0
LBL_MENU(6).Caption = " " & CByte(ALPHA_SCROLL.Value) & "% de transparence"

Select Case ALPHA_SCROLL.Value
Case Is >= 80
CoefTransparence = 255 'Transparence maximale

Case Is < 1
CoefTransparence = 0 'opacité maximale

Case Else
CoefTransparence = CByte(ALPHA_SCROLL.Value * 2.55)

End Select

For Each AliasForm In Forms
Select Case AliasForm.Tag
Case TagAppelant
Call SetLayeredWindowAttributes(AliasForm.hWnd, &HFF00FF, (255 - CoefTransparence), &H3)
DoEvents
Exit For
End Select
Next

-->FORM_MENU_SKIN
'ajout :
Private Sub ALPHA_SCROLL_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button <> 1 Then Exit Sub

For Each AliasForm In Forms
Select Case AliasForm.Tag
Case TagAppelant
AliasForm.AlphaTranspPercActuel = CByte(ALPHA_SCROLL.Value)
Exit For
End Select
Next
End Sub


voilà, je crois qu'on a fait le tour, pour le moment du moins ;)
à te lire, ainsi qu'à tous vous lire ;)
(page affichée plus de 100 fois par jour, dommage d'avoir si peu de retour...)

PCPT
ldx Messages postés 23 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 3 mai 2005
10 mars 2005 à 22:02
bonsoir

merci pour les infos

Effectivement et personnellement j'utilise un slider vertical pour la transparence dans mes programmes.

Les valeurs sont effectivement sauvegardées dans une BD toute simple puis dans un fichier options quand on quitte le prog (J'ai actuellement 12 progs qui fonctionnent individuellement tout en communiquant avec les autres. Ex. : Je n'ai qu'une barre de bouton (prog) pour l'ensemble des progs.... d'où la nécessité de conserver les valeurs)

Suite à ton message, j'ai reessayé ton instruction avec &H3. J'avais raté quelque chose. Le &H3 cumule bien le LWA_ALPHA et LWA_COLORKEY. Excuse Me !

On dit toujours que la science c'est d'abord l'expérimentation. C'est pour avoir vu pas mal d'API fonctionner avec des "OR" que j' eu l'idée de l'appliquer à cet API (Setlayered...) et cela a marché => ne me demande donc pas le pourquoi. (je ne connaissais pas le &H3)

Quand au manifest, j'en avais entendu parler au hasard des ... Mais jamais je ne l'avais utilisé pour un prog tournant sous XP. quel en est son intérêt ? (si tu as le temps de me brieffer)

Pendant que j'y pense, j'ai testé l'animation à l'ouverture d'un form généré. C'est cool ! Je n'ai eu qu'à augmenter (retarder) la valeur "150". Je l'ai fait passer à 350. Sinon l'effet était trop rapide, et pour ne pas dire génant - Cela me donnait plus l'impression d'un PC qui rame et a du mal à se lancer et à présenter un form, que celui d'un fondu tel que tu le souhaitais (c'est vrai qu'à l'inverse de chez toi, si je t'ai bien suivi, tout était réuni pour la rapidité : cpu 2.8 Mhz HT, ram 1Mo, CGraphique 9600 128 Mo ram.)

à te lire
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 mars 2005 à 20:55
Salut,
Merci tout d'abord à SupraDolph pour son contrôle (source 6603). Je crois le garder ;)

LDX,

1- simplement, la skin (anglais = peau), concerne l'apparence statique d'un objet.
(form, contrôle, etc... "statique" parce que les effets n'en font pas parti. [quoi que ; j'essaierais un jour de faire une skin sous flash])

2- pour ce qui concerne le coté "rendu direct", j'y avais pensé, mais 2 points :

1-> on est alors obligé, à l'ouverture du menu, que l'utilisateur veuille ou non changer la transparence, de récupérer la valeur de transparence au moment T. (Inconcevable de mettre la forme à 38% de transparence, et de ré-ouvrir le menu sans y voir le %age actuel)
Cette valeur doit alors soit être stoquée, soit retrouvée (un simple GetWindow... suffirait-il? j'essairais tout à l'heure...)

2-> le plus génant est surtout que ce contrôle, qui me plaît bien, est assez difficilement maniable à ce format (Cf ma BetaTesteuse qui en voit de toutes les couleurs :-p), or comme il me convient parfaitement ainsi, c'est réglé! Donc génant pour les petites mamys qui passeraient de 0 à 97%, puis 20, etc... sans même comprendre "quoi qui s'est passé".

Avant ce contrôle, j'avais pensé à un slider vertical le long du menu, ta proposition m'aurait sans doute convenu (sauf que çà serait déjà effectif ;))

Concernant ton "Set AliasForm = Nothing", peux-tu m'expliquer à quoi il sert?
Petit conseil perso : "TagAppelant" est unique, mieux vaut donc sortir de la boucle FOR, pour éviter de chercher inutilement les autres formes du même Tag ;)

(...)
                SetLayeredWindowAttributes AliasForm.hWnd, &HFF00FF, (255 - CoefTransparence), LWA_ALPHA Or LWA_COLORKEY
                DoEvents
Exit For
        End Select
    Next


~"LWA_ALPHA Or LWA_COLORKEY"
Je vais essayer ta procédure (le rendu y compris), mais je ne saisi pas le OR.
tu veux dire qu'à ma manière, 2 évenements se produise au click?
(il "ré-invisibilise" la couleur, puis applique la transparence? ton "LWA_ALPHA Or LWA_COLORKEY" n'est-il pas égal à mon "&H3" ?)

J'essai tout çà plus tard et je post ;)

3- sauf erreur de ma part, le manifest contient la référence du nom du MWCommoncontrols, l'exe contient l'API appelant Comctl32.dll, qui elle, vérifie le nom de l'exe dans le fichier manifest... :-$
Si boucle bouclée, alors les contrôles sont reconnus par le thême XP
(on ne peut pas lier "Comctl32.dll" comme référence à un projet)

Merci de tes conseils, je te tiens au courant, et n'hésite pas à me signaler tout bug, amélioration, etc....
(cf bugs 2) et 3) "Historique de cette source" si tu veux ;))

Je post ce soir
PCPT
ldx Messages postés 23 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 3 mai 2005
10 mars 2005 à 13:37
Bonjour à tous

PCPT je te réponds ici car je crois que ce qui suit peut intéresser d'autres personnes :

1- J'aimerais bien que quelqu'un me donne la définition d'un "SKIN", à quoi cela sert-il ?

2- Je te proposes l'amélioration suivante :

constat :
Quand on clique dans le menu (en haut à gauche d'un form généré avec le bouton droit) on a la possibilité de déterminer un coefficient de transparence (sous-menu 6) - J'en profite pour féliciter Dolphin pour son scroll rotatif

Une fois ce coef. déterminé, on clique sur le sous-menu et notre form généré devient plus ou moins transparent

Proposition :
Visualiser l'effet de transparence au fur et à mesure de notre choix

Pour ce faire ...
a/ dans FORM_MENU_SKIN - sub LBL_MENU_Click ...
on supprime le contenu de "case 6"

Case 6: 'alpha feuille appelante
' Géré directement dans ALPHA_SCROLL_SCROLL

b/ on remplace la sub : ALPHA_SCROLL_Scroll() par :


Private Sub ALPHA_SCROLL_Scroll()

Dim CoefTransparence As Byte
Dim AliasForm As Form

TagAppelant = Mid(Me.Tag, 6, Len(Me.Tag))

LBL_MENU(6).Caption = " " & CByte(ALPHA_SCROLL.Value) & "% de transparence"

Select Case ALPHA_SCROLL.Value
Case Is > 99
CoefTransparence = 255 'Transparence maximale
Case Is < 1
CoefTransparence = 0 'opacité maximale
Case Else
CoefTransparence = CByte(ALPHA_SCROLL.Value * 2.55)
End Select 'ALPHA_SCROLL.Value

For Each AliasForm In Forms
Select Case AliasForm.Tag
Case TagAppelant
SetLayeredWindowAttributes AliasForm.hWnd, &HFF00FF, (255 - CoefTransparence), LWA_ALPHA Or LWA_COLORKEY
DoEvents
End Select
Next

Set AliasForm = Nothing

End Sub

Celle-ci reprend en partie le contenu de l'ancien "Case 6"

La ligne importante est :

SetLayeredWindowAttributes AliasForm.hWnd, &HFF00FF, (255 - CoefTransparence), LWA_ALPHA Or LWA_COLORKEY

Importante parce que on introduit un "OR" . Celui-ci permet d'une part de supprimer la couleur de transparence et d'autre part de rendre plus ou moins transparent le form généré

(il faut avoir déclaré les 2 constantes Public Const LWA_COLORKEY = &H1
Public Const LWA_ALPHA = &H2 présentes ici dans MOD_TRANSPARENCE)

Le "OR" semble faire la différence avec le "WndSetOpacity" que beaucoup d'entre nous connaissent (celui-ci effectue apparemment qu'une seule tâche à la fois)

3- Question : Pourquoi avoir utilisé un manifeste appelant Microsoft Common Control 6.0 ? Ne pouvais-t'on pas le sélectionner directement dans les composants ?

C'est vraiment un beau programme !

Charles-Marie CLUZEL LDX Informatique
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 mars 2005 à 13:47
Voila, mise à jour, et oui, 4 jours après, déjà ;-)

Espérons que l'explication vous donne envie de tester un peu tout çà et de laisser des commentaires pour avancer....
(enfin, si elle ne vous a pas endormi, ou plongé dans un coma profond...)

J'en profite pour remercier LDX qui m'a répondu très clairement et professionnellement (même si pour finir, j'ai fait sans). Merci en tout cas, je garde ton code de côté, au cas où, et je n'oublierais pas de te cité ;)

Conseils, propositions, idées, je suis preneur.
Et de l'aide aussi pour mes 2 malheureux petits soucis, dans bugs ;)

Dans cette Mise à jour, j'ai mis 4 Skins, vous pouvez ainsi tout de suite tester, sans être obligé de télécharger le complément
(sur ->http://site.voila.fr/vrac-perso/reste_maj.zip qui contient la totalité des skins, images, icones, .exe, .manifest)

Voila, j'attend les retours ;)
PCPT
HwW_Mb Messages postés 44 Date d'inscription jeudi 3 juin 2004 Statut Membre Dernière intervention 12 novembre 2005
8 mars 2005 à 02:11
pas mal comme source ! corrige le bug transparence et ca sera 10/10
je met 9/10 ! bonne continuation et aussi bon courage :)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 mars 2005 à 22:42
problème de transparence au 3/4 résolu.
MAJ cette semaine....
PCPT
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 mars 2005 à 19:57
je viens d'enlever le projet complet de "vrac-perso", désolé...
(pour éviter aux "non-inscrits" d'avoir la source)

si le compteur est exact, 303 visites en 2 jours, svp, laissez des commentaires ;)
PCPT
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 mars 2005 à 18:32
FearBlue ->
ok merci -_-


Saros ->
ok, alors pour le fichier .manifest, il sert, lorsque vous créez le "skin.exe", à avoir l'apparence des boutons StyleXp (au lieu des boutons de VB).
Bien sûr, ce n'est que pour XP. (cf source 2189)

Ensuite, désolé pour ScreenShot, en effet, je ne pensais pas me faire abuser par mon Label5... ;)

Pour le niveau, disons que j'ai fait au mieux, pour un rendu différent, et une compréhension idéale (du moins, j'espère)...

En second problème :
je peux soit :
rendre le rose invisible
rendre la form transparente

(cf MOD_LOADER)
j'utilise l'API SetWindowLong pour réussir à cumuler les 2, mais dans ce cas, je n'ai plus la fenêtre dans la barre des tâches, et c'est là ou intervient le problème de feuilles en cascade....


JJDai ->
et oui, dommage, mais W9x ne gère pas la transparence. J'ai laissé les commentaires dans la source pour tout de même tester les skins.

Une solution alternative pour W98/WME est de mette en fond une image quadrillée, un damier en fait, et d'oter une des 2 couleurs. Ca donne l'illusion d'un fondu, mais bien sûr, çà ne fonctionne pas sur une image (ou alors il faut être très patient sous paint... ;) )

merci pour la note, j'attend vos conseils pour améliorer ce projet...

PCPT
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
6 mars 2005 à 16:39
Je me suis trompé en écrivant, je voulais dire "C'est quoi le fichiers .manifest dans les zip ?"

Avec la transparence il y a pas mal de problèmes de compatibilités... Il doit y avoir une fonction équivalente sous W98 et Millenium non ?
Utilisateur anonyme
6 mars 2005 à 15:39
Pour ceux qui sont dans mon cas, pas de chance, certaines fonction ne sont pas suportées par windows 98 et millenium (pex: SetLayeredWindowAttributes).
Domage !!!
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
6 mars 2005 à 14:44
C'est le fichiers .manifest dans les zip ? Ca fait un certain temps que je me pose cette question

screenshot avec un seul 'o' ^^

Chez moi la mise en cascade de tous les skins marche très bien.
Et j'ai pas compris la formulation de ton second problème :)

...
Si c'est vraiment ta première source, il n'y a vraiment pas de quoi en avoir honte (lol) là je te mettrais 10 ou 9. Et j'hésiterais pas à la mettre en niveau initié.
FearBlue Messages postés 149 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 26 octobre 2008
5 mars 2005 à 10:19
Tres tres sympa ta source :)
Evidement comme tu le dis il y a deux trois problemes
mais cette source mérite un bon 9/10 :)
bonne prog
Rejoignez-nous