OVH Cloud OVH Cloud

getparent

4 réponses
Avatar
PR-VB6
Bonjour,

Form1.show vbmodal

Comment retrouver les caractéristiques de la
fenetre qui avait le focus lorsque la fenetre Form1
a été émise,
lorsqu'on est dans Form1,
en particulier top/width/left/height

Merci

PR

4 réponses

Avatar
ng
Salut,

Le plus facile serait de transmettre une référence vers la form avant son
ouverture :

'//Dans Form1 (déclarations)
Dim fFormParent As Form
'//ou As Object ou As NomForm s'il s'agit tjrs de la mm

'//Puis ensuite :
Debug.Print fFormParent.Width


'//Lors de l'ouverture :
Set Form1.fFormParent = Me
Call Form1.Show(vbModal)

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



PR-VB6 a écrit :

Bonjour,

Form1.show vbmodal

Comment retrouver les caractéristiques de la
fenetre qui avait le focus lorsque la fenetre Form1
a été émise,
lorsqu'on est dans Form1,
en particulier top/width/left/height

Merci

PR


Avatar
PR-VB6
Merci

mais cela ne répond pas à mon problème.
Car la feuille peut etre émise a partir d'une fonction
dans un module bas et je ne connais pas la fenetre active a ce moment
Il doit bien y avoir une fonction API qui sait quelle était la fenetre
active avant l'émission de ma fenetre?


"ng" a écrit dans le message de news:

Salut,

Le plus facile serait de transmettre une référence vers la form avant son
ouverture :

'//Dans Form1 (déclarations)
Dim fFormParent As Form
'//ou As Object ou As NomForm s'il s'agit tjrs de la mm

'//Puis ensuite :
Debug.Print fFormParent.Width


'//Lors de l'ouverture :
Set Form1.fFormParent = Me
Call Form1.Show(vbModal)

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



PR-VB6 a écrit :

> Bonjour,
>
> Form1.show vbmodal
>
> Comment retrouver les caractéristiques de la
> fenetre qui avait le focus lorsque la fenetre Form1
> a été émise,
> lorsqu'on est dans Form1,
> en particulier top/width/left/height
>
> Merci
>
> PR




Avatar
Guy DETIENNE
Salut ;O)

Essaye l'API GetForegroundWindow qui te retourne le handle de la fenêtre
active.
En ayant le handle de cette fenêtre, tu peux ensuite connaître bcp
d'informations à son propos.

A coller dans le formulaire appelé:

Private Declare Function GetForegroundWindow Lib "user32" () As Long
Dim previousHwnd As Long

Private Sub Form_Initialize()
previousHwnd = GetForegroundWindow()
End Sub

Private Sub Form_Load()

Me.AutoRedraw = True
Me.Cls
Me.Print "Handle de la fenêtre en cours: " & Me.hWnd
Me.Print "Handle de la fenêtre précédente : " & previousHwnd

End Sub


Guy

"PR-VB6" a écrit dans le message de
news:
Merci

mais cela ne répond pas à mon problème.
Car la feuille peut etre émise a partir d'une fonction
dans un module bas et je ne connais pas la fenetre active a ce moment
Il doit bien y avoir une fonction API qui sait quelle était la fenetre
active avant l'émission de ma fenetre?


"ng" a écrit dans le message de news:

> Salut,
>
> Le plus facile serait de transmettre une référence vers la form avant


son
> ouverture :
>
> '//Dans Form1 (déclarations)
> Dim fFormParent As Form
> '//ou As Object ou As NomForm s'il s'agit tjrs de la mm
>
> '//Puis ensuite :
> Debug.Print fFormParent.Width
>
>
> '//Lors de l'ouverture :
> Set Form1.fFormParent = Me
> Call Form1.Show(vbModal)
>
> --
> Nicolas G.
> FAQ VB : http://faq.vb.free.fr
> API Guide : http://www.allapi.net
> Google Groups : http://groups.google.fr/
> MZ-Tools : http://www.mztools.com/
> http://apisvb.europe.webmatrixhosting.net/
>
>
>
> PR-VB6 a écrit :
>
> > Bonjour,
> >
> > Form1.show vbmodal
> >
> > Comment retrouver les caractéristiques de la
> > fenetre qui avait le focus lorsque la fenetre Form1
> > a été émise,
> > lorsqu'on est dans Form1,
> > en particulier top/width/left/height
> >
> > Merci
> >
> > PR
>
>




Avatar
PR-VB6
merci de votre réponse qui m'a mis sur la voie
getactivewindow() est également efficace mais...
lorsque la feuille qui emet la suivante est une feuille mdi-fille
les fonctions renvoie vers la mdiform mère... alors que c'est
la fille-mdi qui est active.

PR


"Guy DETIENNE" a écrit dans le message de news:

Salut ;O)

Essaye l'API GetForegroundWindow qui te retourne le handle de la fenêtre
active.
En ayant le handle de cette fenêtre, tu peux ensuite connaître bcp
d'informations à son propos.

A coller dans le formulaire appelé:

Private Declare Function GetForegroundWindow Lib "user32" () As Long
Dim previousHwnd As Long

Private Sub Form_Initialize()
previousHwnd = GetForegroundWindow()
End Sub

Private Sub Form_Load()

Me.AutoRedraw = True
Me.Cls
Me.Print "Handle de la fenêtre en cours: " & Me.hWnd
Me.Print "Handle de la fenêtre précédente : " & previousHwnd

End Sub


Guy

"PR-VB6" a écrit dans le message de
news:
> Merci
>
> mais cela ne répond pas à mon problème.
> Car la feuille peut etre émise a partir d'une fonction
> dans un module bas et je ne connais pas la fenetre active a ce moment
> Il doit bien y avoir une fonction API qui sait quelle était la fenetre
> active avant l'émission de ma fenetre?
>
>
> "ng" a écrit dans le message de news:
>
> > Salut,
> >
> > Le plus facile serait de transmettre une référence vers la form avant
son
> > ouverture :
> >
> > '//Dans Form1 (déclarations)
> > Dim fFormParent As Form
> > '//ou As Object ou As NomForm s'il s'agit tjrs de la mm
> >
> > '//Puis ensuite :
> > Debug.Print fFormParent.Width
> >
> >
> > '//Lors de l'ouverture :
> > Set Form1.fFormParent = Me
> > Call Form1.Show(vbModal)
> >
> > --
> > Nicolas G.
> > FAQ VB : http://faq.vb.free.fr
> > API Guide : http://www.allapi.net
> > Google Groups : http://groups.google.fr/
> > MZ-Tools : http://www.mztools.com/
> > http://apisvb.europe.webmatrixhosting.net/
> >
> >
> >
> > PR-VB6 a écrit :
> >
> > > Bonjour,
> > >
> > > Form1.show vbmodal
> > >
> > > Comment retrouver les caractéristiques de la
> > > fenetre qui avait le focus lorsque la fenetre Form1
> > > a été émise,
> > > lorsqu'on est dans Form1,
> > > en particulier top/width/left/height
> > >
> > > Merci
> > >
> > > PR
> >
> >
>
>