OVH Cloud OVH Cloud

VB6 tache au premier plan

4 réponses
Avatar
Michel
Bonjour,

Une petite question SVP :

je souhaite ouvrir l'application en plein écran lorsque'un évènement
particulier se produit (peu importe lequel).

j'utilise donc l'insctruction Me.Windowstate = VbNormal

ça marche correctement; par contre j'aimerais que ma tache passe au premier
plan (pour quelle soit bien visible); avez vous une idée ?

Avec tous mes remerciements

Cordialement, Michel

4 réponses

Avatar
LE TROLL
Bonjour, tu rajoutes "ME":
show , me
Show, vbmodal , Me
Ou tu peux aussi le mettre dans la form réceptrice, mais pas avec show
évidemment, avec l'activate par exemple ça devrait fonctionner...

--
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Michel" a écrit dans le message de news:
ubqPFBm$
Bonjour,

Une petite question SVP :

je souhaite ouvrir l'application en plein écran lorsque'un évènement
particulier se produit (peu importe lequel).

j'utilise donc l'insctruction Me.Windowstate = VbNormal

ça marche correctement; par contre j'aimerais que ma tache passe au
premier
plan (pour quelle soit bien visible); avez vous une idée ?

Avec tous mes remerciements

Cordialement, Michel





Avatar
Jean-marc
"Michel" a écrit dans le message de news:
ubqPFBm$
Bonjour,

Une petite question SVP :

je souhaite ouvrir l'application en plein écran lorsque'un évènement
particulier se produit (peu importe lequel).

j'utilise donc l'insctruction Me.Windowstate = VbNormal

ça marche correctement; par contre j'aimerais que ma tache passe au
premier
plan (pour quelle soit bien visible); avez vous une idée ?

Avec tous mes remerciements

Cordialement, Michel



Hello Michel,

Tu trouveras des informations utiles pour cela dans la FAQ
de ce groupe.

Voici l'article concerné:
http://faq.vb.free.fr/index.php?questionP

N'hésitez pas à consulter fréquemment la FAQ, qui est bien
souvent une source intéressante d'informations. De nouveaux
articles sont en préparation ...

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
François Picalausa
Michel wrote:
Bonjour,

Une petite question SVP :

je souhaite ouvrir l'application en plein écran lorsque'un évènement
particulier se produit (peu importe lequel).

j'utilise donc l'insctruction Me.Windowstate = VbNormal

ça marche correctement; par contre j'aimerais que ma tache passe au pre mier
plan (pour quelle soit bien visible); avez vous une idée ?



Hello,

Il est à noter que windows (98 un peu, XP nettement plus) fait tout
pour interdire ce genre de comportement. (si j'ai bien compris, du
moins)
Certains se souviendrons peut-être des fenêtres de l'un ou l'autre
logiciel d'IM passant en premier plan et volant le focus, alors qu'ils
écrivaient la fin de l'url dans un webbrowser?
Bref, les fenêtre qui interrompent spontanément un traitement sont a
proscrire.
Si un fenêtre demande l'attention de l'utilisateur, une manière très
commode d'utiliser l'API FlashWindowEx (qui fait clignoter la fenêtre
dans la barre des tâches, sans interrompre l'utilisateur):
http://msdn.microsoft.com/library/en-us/debug/base/flashwindowex.asp

François Picalausa
Avatar
David
Bonjour Michel,

Voici un petit copier/coller qui fait ce que tu
demandes (si j'ai bien compris la question !) :

''Comment faire pour qu'une fenêtre reste toujours au premier plan ?
''Il faut utiliser l'API SetWindowsPos. Voici le code d'une fonction
permettant d'activer ou de désactiver l'affichage au premier plan d'une
fenêtre :

Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const Flags = SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or
SWP_NOSIZE

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long,
ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As
Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Function SetTopMostWindow(Window As Form, Topmost As Boolean) As
Long

If Topmost = True Then
SetTopMostWindow = SetWindowPos(Window.hwnd, HWND_TOPMOST, 0, 0, 0,
0, Flags)
Else
SetTopMostWindow = SetWindowPos(Window.hwnd, HWND_NOTOPMOST, 0, 0,
0, 0, Flags)
End If

End Function

Private Sub Form_Load()

'Exemples d'utilisations de la fonction :
SetTopMostWindow Me, True 'Active l'affichage au premier plan
'SetTopMostWindow Me, False 'Désactive l'affichage au premier plan

End Sub

a+
Jean-Pol DAVID

"Michel" a écrit dans le message de news:
ubqPFBm$
Bonjour,

Une petite question SVP :

je souhaite ouvrir l'application en plein écran lorsque'un évènement
particulier se produit (peu importe lequel).

j'utilise donc l'insctruction Me.Windowstate = VbNormal

ça marche correctement; par contre j'aimerais que ma tache passe au
premier
plan (pour quelle soit bien visible); avez vous une idée ?

Avec tous mes remerciements

Cordialement, Michel