ALPHA UTILS

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 16 janv. 2009 à 23:39
cs_gege58 Messages postés 15 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 25 janvier 2009 - 25 janv. 2009 à 21:23
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/48993-alpha-utils

cs_gege58 Messages postés 15 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 25 janvier 2009
25 janv. 2009 à 21:23
Re-Bonsoir,
le code est vraiment bien commenté, l'effet est joli, mais c'est vrai que c'est plus de l'esthétisme que du fonctionnel. Mais c'est sympa quand même, et puis cela fait un bon exemple.
A+
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
25 janv. 2009 à 20:55
De rien, dis-moi ce que tu en penses :)

Cordialement, Bacterius !
cs_gege58 Messages postés 15 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 25 janvier 2009
25 janv. 2009 à 20:48
Ca marche, merci beaucoup ! et bonne prog.
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
25 janv. 2009 à 20:16
Voilà Gege58, tu peux compiler maintenant :)

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
25 janv. 2009 à 19:12
Mince !
Je vais manger et je mets ce fichier direct après.
Essaye de virer tout ce qui touche à la "Bactbar" en attendant pour compiler.

Cordialement, Bacterius !
cs_gege58 Messages postés 15 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 25 janvier 2009
25 janv. 2009 à 19:09
Bonjour,

après compilation, il me dit fichier introuvable " BactBarImgs.res " ??

je n'ai peut-etre pas tout compris, mais je n'ai pas vu ce fichier.
Merci d'avance de tes explications.
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 janv. 2009 à 20:05
Attention attention : optimisation d'un petit peu de code ...
Et une grosse nouveauté : l'ajout d'une DLL pour assurer la compatibilité avec les autres langages (et puis pour le fun d'en faire une, j'en ai rarement fait). Elle contient toutes les fonctions de Alpha Utils, ainsi que la classe TLayeredWindow, et possède une unité réservée (AlphaUtilsUnit.pas) qui a été spécialisement optimisée pour marcher avec la DLL et avec les autres langages - ne pas trop toucher à cette unité.

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
19 janv. 2009 à 20:02
Bon voilà Francky : tout est arrangé : je me suis rendu compote que ChildNode ne servait strictement à rien (pas besoin d'utiliser ChildNode après, d'où l'erreur, et la non-nécessité de stocker l'élément liste dans une variable).
J'ai également fait de la publicité à mon nom (il en faut ...), en important dans le projet une BactBar ! (vous vous souvenez, celle qui était dans mon BaktPack !).
Elle permet de suivre en temps réel le listage des fenêtres (parfois c'est long ...).
J'ai également noté un bug : quand on listait toutes les fenêtres, la barre des tâches et notre fiche (je veux parler des TLayeredWindow dans l'exemple, dédiés pour ces deux fenêtres) perdent la main sur la transparence (au profit de la TLayeredWindow temporaire "Wnd"), et ne la reprennent pas une fois Wnd libérée (résultat : il faut redémarrer l'appli). Tout cela est arrangé : le programme fait exprès de ne pas lister la fiche et la barre des tâches (en regardant le handle de la fenêtre à ajouter et à comparer avec les handles de la barre des tâches et de la fiche), puis les liste tout à la fin, à partir de Tray et Form. (Vous n'avez probablement rien compris, moi non plus).

En tout cas ... voilà.

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
19 janv. 2009 à 18:40
Tu veux dire un accès direct à tous les composants de la fenêtre ! C'est la mort ça : il faut déjà les lister (bon rien de bien méchant jusque là ... petit EnumChildWindows), ensuite il faut vérifier si on connaît la classe de chaque composant (va donc récupérer les propriétés d'un TAVGApplication !), puis ensuite, il faut proposer une propriété pour chaque entrée ... argh.
A moins que ce ne soit pas du tout ça ?

@Francky : j'arrange ça de suite !

Cordialement, Bacterius !
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
19 janv. 2009 à 09:54
"Un traitement des Skins ? Qu'est-ce ?"
C'est la possibilité de créer des formes personnalisables avec des frises, changer les menus, les boutons etc..(Il y a déjà des compos (non free) qui le font mais ils sont vraiment lourdingues)
Il s'agit d'un autre programme qui pourrait peut être réalisé à partir des "layers attributes".
Attention, c'est un très gros boulot de paramétrages.
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
19 janv. 2009 à 08:26
Oui je parle de ça et d'une variable non utilisée ;)
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
18 janv. 2009 à 14:11
@Francky : oui, parles-tu des 10 conseils "ChildNode n'est pas utilisé" ? En fait il est créé dans la vue arborescente mais jamais utilisé, je vais peut-être faire une ligne ChildNode := ChildNode pour balayer ces "coquilles". Et j'ai essayé de bien tout commenter. Pour la position des commentaires, il est vrai que quand les instructions sont trop longues il faudrait les placer au-dessus ou en dessous, je vais m'y atteler. Merci :)

@Cantador : Merci ! En effet la transparence ne sert pas à grand chose à part rendre le bureau plus joli ... surtout que certaines fenêtres ne se redessinent plus avec WS_EX_LAYERED (comme le fond d'écran, qui devient noir).
Un traitement des Skins ? Qu'est-ce ?

Bon ben je vais m'atteler à tout ça :
Améliorations prévues sur ce code : réorganisation des commentaires, traitement des skins, nettoyage des coquilles.
Nouvelles sources en vue : unité qui liste toutes les API de Windows (il y en a au moins 40% qui ne sont pas déclarées par défaut).

Cordialement, Bacterius !
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
18 janv. 2009 à 13:57
Bravo bacterius pour ce travail même si la transparence présente pour ma part un côté plus spectaculaire qu'utile..

La suite pourrait être un traitement des Skins ?
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
18 janv. 2009 à 13:42
Source intéressant et qui devrait plaire à plus d'un. Il reste des coquilles (Avertissements et conseils du compilo). Au niveau des commentaires tu devrais les mettre "au-dessus" et non sur le "coté". En tout cas niveau commentaires tu n'as pas été radin ;).
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
18 janv. 2009 à 01:49
Grosse MAJ, la dernière de la journée (d'hier bien sûr huhuhu) :

- ajout d'une fonction dans Alpha Utils qui permet de lister tous les handles de toutes les fenêtres du système dans un TList (j'en tire avantage - je remplace les pointeurs par des handles !) + ajout d'une option dans l'exemple, qui permet soit de lister les deux fenêtres (barre des tâches + notre fiche), soit toutes les fenêtres du système (par leur nom de fenêtre, ou à défaut, leur descripteur de fenêtre !).
Possibilité de choisir si la classe peut modifier la transparence de la fenêtre, ou alors si elle est juste là pour recueillir des informations sur la fenêtre (évite un clignotement noir à la première définition de la transparence).
Il y a des trucs très interessants dans les informations de la fenêtre (adresse fichier du module de fenêtre, par exemple ...).

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
18 janv. 2009 à 00:19
Euh oui, zut : la rendre transparente (à un degré alpha modifiable) ^^' (on parle, on parle et on oublie l'essentiel !).

Cordialement, Bacterius !
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
17 janv. 2009 à 22:55
@Bacterius:
Peux-tu préciser ce que tu as voulu faire avec la barre des tâches..
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
17 janv. 2009 à 18:00
Lol Offlake tu m'as donné une note de 29/10 ^^ (avec ta formule).

Oui en effet PCPT, je ne me rends jamais compte du nombre de posts que je déposes.
Dorénavant je ne posterai un commentaire que dans une grosse MAJ, et je laisserai l'historique faire le reste.

Merci pour le retrait de la note PCPT :)

Cordialement, Bacterius !
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 janv. 2009 à 17:56
Bacterius -> effectivement c'est pas très utile de poster 10 comms pour dire qu'il y a une maj du bug que la maj d'avant vient de provoquer. à la réflexion faudrait même prendre un peu de temps avant de faire des maj :)
idem avant de valider des posts :)

offlake -> je supprime ta note (1/10) que tu ne justifies pas.
si tu as des problèmes avec un ou plusieurs membres (je t'aurais bien proposé de voir çà avec eux mais c'est même pas la peine) viens me voir en MP.
faire des copier/coller de remarques que certains membres t'ont fait et que tu n'as pas comprises n'amènera personne nulle-part!

merci
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
17 janv. 2009 à 16:54
ce n'est pas une source si on laisse pas les gens s'exprimer !!
BY OFFLAKE
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
17 janv. 2009 à 16:17
Correction de quelques bugs (entre autres, ne jamais suffixer Destroy de Reintroduce, mais plutôt de Override).
Ajout d'une petite treeview (oui je me suis trompé dans l'historique) pour lister les informations sur la barre des tâches et sur notre fiche ...

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
16 janv. 2009 à 23:39
J'ai corrigé une petite aberration dans le code !

Cordialement, Bacterius !
Rejoignez-nous