jmberriot
Messages postés19Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention11 avril 2008
-
1 janv. 2006 à 11:32
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 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.
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 juin 20151 26 avril 2010 à 00:06
source bien sympa
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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és371Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention17 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és13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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...)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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é ?...)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 26 juil. 2007 à 11:58
j'embarque modPositionTaskBar.bas que je vais probablement ré-utiliser
merci Jack ;)
ciberrique
Messages postés589Date d'inscriptionlundi 25 août 2003StatutMembreDernière intervention18 juillet 20101 7 avril 2007 à 20:20
Tres bien mais attention !! Le ScaleMode doit etre en Twips dans ton code ^^.
cmagonthier
Messages postés1Date d'inscriptionmardi 13 septembre 2005StatutMembreDernière intervention19 janvier 2007 19 janv. 2007 à 12:49
Merci pour cette source, elle est très bien !
cs_YURIX
Messages postés18Date d'inscriptionsamedi 21 août 2004StatutMembreDernière intervention12 décembre 2009 3 janv. 2006 à 20:19
La source ne marche pas avec des formes transparentes !
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 1 janv. 2006 à 15:22
Salut JM
Oui, amusant. à exploiter sur machines puissantes.
jmberriot
Messages postés19Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention11 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)
26 avril 2010 à 00:06
5 mai 2008 à 01:09
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é ;-)
4 mai 2008 à 09:51
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
26 juil. 2007 à 12:42
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...
26 juil. 2007 à 12:27
quel est ton but au final ?
savoir ou est la barre de Windows ? ou reucperer l'emplacement du bureau ?
26 juil. 2007 à 12:22
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
++ ;)
26 juil. 2007 à 11:58
merci Jack ;)
7 avril 2007 à 20:20
19 janv. 2007 à 12:49
3 janv. 2006 à 20:19
1 janv. 2006 à 21:44
c'est rare !!
1 janv. 2006 à 20:44
pour reinit l'icone, il faut chopper le message (SubClassing) obtenu en faisant un petit
RegisterWindowMessage ( "TaskbarCreated" )
1 janv. 2006 à 19:30
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.
1 janv. 2006 à 17:37
une critique toutefois, l'icone n'est pas restaurée dans la Systray, en cas de crash de Explorer.exe....
1 janv. 2006 à 15:22
Oui, amusant. à exploiter sur machines puissantes.
1 janv. 2006 à 11:32
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