J'ai cherché à rendre une couleur transparente dans un form (à l'exécution) ... au moyen des exemples vfp et du coup de main de Fred pour les API (merci Fred) je vous propose la solution suivante.
Dans cet exemple la couleur Fushia rgb(255,0,255), deviendra transparente... à l'exécution en ajoutant le code VFP suivant à l'init du formulaire
Exemple ci joint aussi
Cordialement
Francis Faure
PS : le formulaire doit obligatoirement avoir la propriété ShowWindow = 2
Code source :
DODEFAULT() IFVAL(OS(3))>=5
* Windows 2000 minimum DECLAREINTEGER GetWindowLong IN user32.DLLINTEGERhWnd, INTEGER nIndex DECLAREINTEGER SetWindowLong IN user32.DLLINTEGERhWnd, INTEGER nIndex, INTEGER dwNewLong DECLAREINTEGER SetLayeredWindowAttributes IN WIN32API INTEGERHWND, INTEGER crKey, INTEGER bAlpha, INTEGER dwFlags
*Constants for SetWindowLong and GetWindowLong
#DEFINE GWL_EXSTYLE -20
#DEFINE WS_EX_LAYERED 0x00080000
*Constants for SetLayeredWindowAttributs
#DEFINE LWA_COLORKEY 1
#DEFINE LWA_ALPHA 2
ouaip, on en déduit aisemment que plus il y a de trous, moins on a la form :)
j'adore personellement le clic dans une zone transparente