Transparence & mobilite de controles

Description

Rendre plus ou moins transparent un contrôle (dans l'exemple, une image et un textbox), le bouger où l'on veut dans l'écran. C'est à dire "le rendre indépendant" du form dont il dépend, tout en gardant l'appartenance à ce dernier ...

Extrapolation de l'exemple proposé : avec Picture1 avoir un bouton qui s'éclaire (devient opaque) quand la souris passe dessus, et redevient transparent (graduation possible) au repos. C'est à la mode actuellement
Avec Picture1 et TextEssai, les bouger dans ou en dehors du form (ou bouger le form dont ils dépendent). Imaginez dans une application un tabstrip important occultant partiellement un treeview. La solution ? le mettre dehors ! et ça marche.

De ce que j'ai compris, il me semble ... :

Que "SetParent" est la CLEF qui rend possible la possibilité de jouer avec la transparence d'un objet ou de le mouvoir, indépendamment du form qui le contient . Tout se passerait comme si Windows accordait à l'objet les propriétés d'une form (pas de difficultés pour rendre transparente ou bouger celle-ci dans l'écran) ... (je ne suis pas assez calé pour imaginer autre chose, je bidouille)

qu'il est nécessaire d'employer le "SetWindowPos" pour positionner l'objet dans l'écran (équivalent d'un ZORDER) à travers la 2ème valeur "-1" (HwndTopmost). Faute de quoi si on déplace l'objet dans le form, il se placera en arrière plan de celui-ci (Si vous trouvez un meilleur moyen faites le moi savoir, je suis preneur).
Il n'y aurait ce petit problème, cet API ne serait pas nécessaire.

La transparence est gérée par "WndSetOpacity" (de Greengold)

Dans "Form_unload" on annule la mobilité de l'objet par "SetParent" . Il va de soit que cette instruction peut être placée où l'on veut, par exemple à la fermeture d'une fiche remplie (sans quitter le form)

Conclusion :


Pour terminer, un grand merci à Lumesh et Greengold pour leur travail dont je me suis inspiré

Je vous suggère de voir les sources suivants pour compléments d'info :
Lumesh : ... CONTROL DANS BARRE DE TITRE ... (avec un bon exemple de HOOK)
Greengold : EFFET TRANSPARENCE : MESSENGER ... (j'espère qu'il voudra bien me pardonner d'avoir utilisé son papillon, mais cette photo me plaisait)

Et si je n'ai pas été assez explicite, vous pouvez me contacter

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.