Christophe Chenavier France Membre Simple # 0000000023 enregistré le 14/10/2004 http://www.corwin.fr 58 ans CHENAVIER Christophe 80440 BOVES de la société Corwin Fiche personnelle
Note des membres pas de note
Contributions > 02 - SCX : Formulaires
Mettre un objet Fox par dessus un ActiveX
# 0000000254
ajouté le 04/11/2005 07:52:37 et modifié le 04/11/2005
consulté 8942 fois
Niveau
initié
Le problème avec les ActiveX, c'est qu'ils restent toujours au premier plan, empêchant de faire apparaître un objet Fox par dessus. La fonction LockObject présentée ici permet de désactiver l'ActiveX tout en le conservant à l'écran. L'astuce utilisée ici, a été de faire une copie de la partie d'écran contenant l'ActiveX à désactiver, de cacher ce dernier (Visible à .F.) puis de recopier la capture d'écran à la place de l'ActiveX. Visuellement, on a l'impression que l'ActiveX est encore à l'écran !
Code source :
*!* Objet : Désactivation des ActiveX pour permettre d'afficher un objet Fox par dessus *!* Auteur : C.Chenavier *!* Version : 1.01 - 19/02/2005
IF oForm.ShowWindow <> 2
M.nTop = M.nTop + SYSMETRIC(9) + SYSMETRIC(13) && Hauteur de la barre de titre + Hauteur de la frame
M.nLeft = M.nLeft + SYSMETRIC(12) && Largeur de la frame ELSE * La propriété hWnd de oForm ne contient pas le bon handle !
M.nWinHandle = GetWindow(M.nWinHandle, GW_CHILD)
M.nWinHandle = GetWindow(M.nWinHandle, GW_HWNDLAST) ENDIF
le 25/07/2007, Black Sabbath a écrit : VFP9 SP1 + XP SP2 : c'est ok, le bouton vient bien au-dessus du TV mais le dessin du TV disparait dès que la souris passe au-dessus du bouton !!! Commenbt faire pour éviter ce pb ? BlackSabbath@no.spam.in.hell
le 25/07/2007, Christophe Chenavier a écrit : Il faut désactiver la gestion des thèmes : SYS(2700,0)
le 25/07/2007, Black Sabbath a écrit : OK, merci ... mais comment faire pour pouvoir dessiner sur l'image : genre dans le lockButton.click rajouter ThisForm.Line(ThisForm.Tree1.Left+10,ThisForm.Tree1.Top+10,ThisForm.Tree1.Left+20,ThisForm.Tree1.Top+20) ... Merci
le 25/07/2007, Christophe Chenavier a écrit : Pour dessiner sur l'image, il faut le faire dans le contexte graphique de la capture. Mais cela sort du champ d'action de la fonction LockObject. Bon courage...
VFP9 SP1 + XP SP2 : c'est ok, le bouton vient bien au-dessus du TV mais le dessin du TV disparait dès que la souris passe au-dessus du bouton !!!
Commenbt faire pour éviter ce pb ?
BlackSabbath@no.spam.in.hell