SYSTRAY + ANIMATION ENTRE FORME NORMALE ET ICONE

jmberriot Messages postés 19 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 11 avril 2008 - 1 janv. 2006 à 11:32
Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 juin 2015 - 26 avril 2010 à 00:06
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/35360-systray-animation-entre-forme-normale-et-icone

Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 juin 2015 1
26 avril 2010 à 00:06
source bien sympa
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 mai 2008 à 01:09
Salut JNL
En effet, j'ai remarqué celà aussi, mais je ne l'avais pas noté.
Voilà la version corrigée.
J'ai fait les essais sur un bi-écrans positionnés horizontal puis vertical.
C'est Ok maintenant.

Merci de me l'avoir rappelé ;-)
cs_JLN Messages postés 371 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 17 juin 2013
4 mai 2008 à 09:51
Désolé de revenir sur quelques choses qui commence à dater, mais quand même...

Pourquoi l'animation envoi ma fenetre en haut à gauche de l'écran, alors que mon systray est en bas à droite ?

Merci pour la réponse,
@+ JLN
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 juil. 2007 à 12:42
curiosité seulement, pas certain encore d'en avoir l'utilité

sinon surtout repérer la position de chaque barre pour pouvoir passer une fenêtre devant toutes les autres, mais "sous" ou aussi "sur" la/les barres selon le besoin, ouvrir une fenêtre en fonction d'une zone RECT étant l'intersection de plusieurs barres, ou de la barre et d'un bord de l'écran, impliquant forcément (au final) de connaître la zone RECT occupable de l'écran/bureau (donc taille et position)
intervient dans le lot évidemment aussi le multi screen ^^
(étendu longue barre, dualview continuité du bureau mais barre sur un seul écran, etc...)

mais simple curiosité ;)

ps : pas bavarde la msdn. http://support.microsoft.com/kb/467650/fr
pas cherché longtemps non plus...
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 juil. 2007 à 12:27
j'ai eu l'occasion de me frotter aux api des barres. effectivement, il peut y en avoir plusieurs.

quel est ton but au final ?
savoir ou est la barre de Windows ? ou reucperer l'emplacement du bureau ?
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 juil. 2007 à 12:22
(dsl pour le double post)
euh... pourquoi +30 ?
la barre ne commence pas à 0 ?

l'API Guid ne semble pas en tenir compte.
par contre la doc semble dire qu'il peut y avoir plusieurs barres des tâches

donc "SHAppBarMessage ABM_GETTASKBARPOS, ABD" ne renvoie dans ABD que les infos que la barre Windows c'est çà?

suffit juste de changer ABM_GETTASKBARPOS par le handle de sa barre perso si elle a été enregistrée avec ABM_NEW ? contradictoire puisque dwMessage n'est pas un handle. qqc m'échappe :$

je regarderai sur la msdn ce soir...
(peut-être le "+30" y sera aussi expliqué ?...)

ps :
commentaire -> Call PositionTaskBar(MaPosition)
procédure nommée -> PositionBarreTaches

++ ;)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 juil. 2007 à 11:58
j'embarque modPositionTaskBar.bas que je vais probablement ré-utiliser
merci Jack ;)
ciberrique Messages postés 589 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 18 juillet 2010 1
7 avril 2007 à 20:20
Tres bien mais attention !! Le ScaleMode doit etre en Twips dans ton code ^^.
cmagonthier Messages postés 1 Date d'inscription mardi 13 septembre 2005 Statut Membre Dernière intervention 19 janvier 2007
19 janv. 2007 à 12:49
Merci pour cette source, elle est très bien !
cs_YURIX Messages postés 18 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 12 décembre 2009
3 janv. 2006 à 20:19
La source ne marche pas avec des formes transparentes !
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 janv. 2006 à 21:44
j'aprécie grandement le fait que tu ne fasse pas de présupposition sur la position de la barre de taches....

c'est rare !!
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 janv. 2006 à 20:44
crash simulé en killant Explorer.exe

pour reinit l'icone, il faut chopper le message (SubClassing) obtenu en faisant un petit

RegisterWindowMessage ( "TaskbarCreated" )
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 janv. 2006 à 19:30
Quoi ? L'explorer crash ?
J'espère que ce n'est pas à cause ce cette source ... je ne vois pas trop ce qui pourrait le planter.
En fait, la gestion de l'icone dans le Systray n'est pas le but principal de cette source.
Il est vrai que, lors d'un réinit de l'explorer, pas mal d'icones de logiciels commerciaux ne se restaurent pas non plus.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 janv. 2006 à 17:37
Joli,

une critique toutefois, l'icone n'est pas restaurée dans la Systray, en cas de crash de Explorer.exe....
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 janv. 2006 à 15:22
Salut JM
Oui, amusant. à exploiter sur machines puissantes.
jmberriot Messages postés 19 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 11 avril 2008
1 janv. 2006 à 11:32
Salut
Bien aimé ton programme

J'ai rajouté dans
"Public Sub LanceAnimationVersSystray(frmSource As Form, _
SensAnimation As SensEnum)"
>>>Const NbreEtapes =80



' Version allant de 1.0 vers 0.30
' Coeff = 0.7 / (1 - NbreEtapes)
' % = NoEtape * Coeff + (0.3 - (NbreEtapes * Coeff))
>>>>> Dim Sens As Boolean, Vague As Long
For r = 2 To NbreEtapes
>>>>> If Vague < -1000 Or Vague > 1000 Then Sens = Not Sens
>>>>> If Sens Then Vague Vague + 100 Else Vague Vague - 100
With Coordonnees(r)
>>>>>.Left = Coordonnees(r - 1).Left + IncrementX + (Vague / 2)

A voir pour divaguer...... Bonne programmation
Rejoignez-nous