Comment afficher au 1er plan

Le
LE TROLL
Bonjour,

Comment afficher au 1er plan (mais PAS toujours à l'écran), je fais ceci
:

Depuis l'exe je lance un site avec l'explorer dans le load, puis je lui
demande de s'afficher au 1er plan (enfin, je crois), dans l'activate, mais
ça ne marche pas le site de l'explorer recouvre le programme GRRrrrrrr
:o)

ShellExecute Me.hwnd, "Open", Site, "", App.Path, 1
End Sub ' load

Sub Form_Activate()
Picture1(240).SetFocus
'Form1.Show ???
' Form1.SetFocus ??? MARCHE PAS ???
' Me.SetFocus ???
End Sub

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
David
Le #19960761
Bonjour,

Form1.ZOrder

--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/
Cette page est transmise avec des électrons 100% recyclés.


"LE TROLL"
Bonjour,

Comment afficher au 1er plan (mais PAS toujours à l'écran), je fais
ceci :

Depuis l'exe je lance un site avec l'explorer dans le load, puis je lui
demande de s'afficher au 1er plan (enfin, je crois), dans l'activate, mais
ça ne marche pas le site de l'explorer recouvre le programme GRRrrrrrr...
:o)

ShellExecute Me.hwnd, "Open", Site, "", App.Path, 1
End Sub ' load

Sub Form_Activate()
Picture1(240).SetFocus
'Form1.Show ???
' Form1.SetFocus ??? MARCHE PAS ???
' Me.SetFocus ???
End Sub

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.




LE TROLL
Le #19961311
Bonjour,

Merci de ta réponse, mais ce n'est pas ça, ça ne marche pas, là il ne
s'agit pas de mettre une form devant l'autre, mais un programme devant un
site lancé préalablement depuis le programme via l'explorer...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"David" news:OY$
Bonjour,

Form1.ZOrder

--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/
Cette page est transmise avec des électrons 100% recyclés.


"LE TROLL"
Bonjour,

Comment afficher au 1er plan (mais PAS toujours à l'écran), je fais
ceci :

Depuis l'exe je lance un site avec l'explorer dans le load, puis je lui
demande de s'afficher au 1er plan (enfin, je crois), dans l'activate,
mais ça ne marche pas le site de l'explorer recouvre le programme
GRRrrrrrr... :o)

ShellExecute Me.hwnd, "Open", Site, "", App.Path, 1
End Sub ' load

Sub Form_Activate()
Picture1(240).SetFocus
'Form1.Show ???
' Form1.SetFocus ??? MARCHE PAS ???
' Me.SetFocus ???
End Sub

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.








AT
Le #19961921
LE TROLL a couché sur son écran :
Bonjour,

Comment afficher au 1er plan (mais PAS toujours à l'écran), je fais ceci
:

Depuis l'exe je lance un site avec l'explorer dans le load, puis je lui
demande de s'afficher au 1er plan (enfin, je crois), dans l'activate, mais ça
ne marche pas le site de l'explorer recouvre le programme GRRrrrrrr... :o)



C'est du chinois ta façon de t'expliquer.

La commande "show" sans aucun argument met la form au premier plan.

Tu peux aussi fouiller dans les codes en recherchant always on top avec
gogole. Always on top met en permanence la form au premier plan.

http://www.google.fr/search?hl=fr&q=always+on+top+vb6&btnG=Rechercher&meta=
LE TROLL
Le #19962011
Bonjour,

Merci de ta réponse, voici le code qui sera moins chinois :

-------------------------
Dim Site As String

Sub Form_Load()
Site = "http://irolog.free.fr"
ShellExecute Me.hwnd, "Open", Site, "", App.Path, 1
End Sub

Sub Form_Activate()
Me.Show
End Sub
-------------------------

Tu peux l'essayer, et tu verras que le site appelé par le programme via
l'exe dans le Load est au dessus du programme qui l'appelle, même si dans
l'Activate (Me.Show) je demande que le programme soit au dessus ?

Et bien moi je voudrais que le programme qui appelle le site soit au 1er
plan ?

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"AT" news:4a8e2fd0$0$23473$
LE TROLL a couché sur son écran :
Bonjour,

Comment afficher au 1er plan (mais PAS toujours à l'écran), je fais
ceci :

Depuis l'exe je lance un site avec l'explorer dans le load, puis je lui
demande de s'afficher au 1er plan (enfin, je crois), dans l'activate,
mais ça ne marche pas le site de l'explorer recouvre le programme
GRRrrrrrr... :o)



C'est du chinois ta façon de t'expliquer.

La commande "show" sans aucun argument met la form au premier plan.

Tu peux aussi fouiller dans les codes en recherchant always on top avec
gogole. Always on top met en permanence la form au premier plan.

http://www.google.fr/search?hl=fr&q=always+on+top+vb6&btnG=Rechercher&meta >



AT
Le #19963151
LE TROLL avait soumis l'idée :
Bonjour,

Merci de ta réponse, voici le code qui sera moins chinois :

-------------------------
Dim Site As String

Sub Form_Load()
Site = "http://irolog.free.fr"
ShellExecute Me.hwnd, "Open", Site, "", App.Path, 1
End Sub

Sub Form_Activate()
Me.Show
End Sub
-------------------------

Tu peux l'essayer, et tu verras que le site appelé par le programme via
l'exe dans le Load est au dessus du programme qui l'appelle, même si dans
l'Activate (Me.Show) je demande que le programme soit au dessus ?

Et bien moi je voudrais que le programme qui appelle le site soit au 1er
plan ?




Dans ce cas, entre autres solutions, tu peux faire:

Dim RetVal
RetVal = Shell("C:Program FilesInternet Exploreriexplore.exe", 6)

Et ça marche.

Dans la doc vb6, c'est écrit:

Shell(pathname[,windowstyle])


L'argument nommé windowstyle peut prendre les valeurs ci-dessous :

Constante Valeur Description
vbHide 0 La fenêtre est masquée et activée.

vbNormalFocus 1 La fenêtre est activée et rétablie à sa taille et à sa
position d'origine.

vbMinimizedFocus 2 La fenêtre est affichée sous forme d'icône et
activée.

vbMaximizedFocus 3 La fenêtre est agrandie et activée.

vbNormalNoFocus 4 La fenêtre est rétablie à sa taille et à sa position
les plus récentes. La fenêtre active reste active.

vbMinimizedNoFocus 6 La fenêtre est affichée sous forme d'icône. La
fenêtre active reste active.
AT
Le #19963141
AT a couché sur son écran :


Dans ce cas, entre autres solutions, tu peux (aussi) faire:



Ajouter un timer sur ta form, donner un interval à 5000 et le mettre
enable sur false.

Site = "http://irolog.free.fr"
ShellExecute Me.hwnd, "Open", Site, "", App.Path, 1
timer1.enable = true


et mettre show dans la procedure timer, puis timer1.enableúlse.
LE TROLL
Le #19966321
Bonjour,

Merci de ta réponse, mais ça ne marche pas davantage !

Déjà toi tu lances l'explorer, c'est un logiciel PC, évidemment que ça
marche, mais ce n'est absolument pas l'exemple que j'ai donné (moi j'appelle
un site) !

D'autre part l'API ShellExecute je crois accepte tous les explorer,
alors que Shelle n'accepte qu'InternetExplorer il me semble...

Mon code, et exclusivement mon code, suffit de le copier :

Sub Form_Load()
Dim retval
retval = Shell("explorer.exe http://Irolog.free.fr", 6)
end sub

Sub Form_Activate()
Me.Show
End Sub

Ben quand tu verras ta forme devant le site tu me diras ?

Pour le timer ça ne peut pas coller, car le timer il va exécuter toutes
les 5 secondes, certes, mais il va exécuter dès qu'on l'appelle le code
qu'il contient, "puis", toutes les 5 secondes, donc il faut lui mettre une
boucle, par exemple i = 0, puis dans le timer i = i + 1, puis (si i > 0
alors)... Mais ceci est équivalent à

Dim retval
retval = Shell("explorer.exe http://Irolog.free.fr", 6)
sleep 5000

Ce qui ne change rien, désolé :o)

Il peut y avoir une solution en lançant le logiciel "toujours à l'écran
et au premier plan), puis une fois le site affiché, à enlever cette
fonction, ça devrait le laisser au dessus ? Reste à voir comment s'appeler
soi même toujours à l'écran, je vais voir si je trouve, car là je n'appelle
pas un autre logiciel, je suis dans le logiciel qui doit rester au dessus du
tas...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"AT" news:4a8e7797$0$12613$
AT a couché sur son écran :


Dans ce cas, entre autres solutions, tu peux (aussi) faire:



Ajouter un timer sur ta form, donner un interval à 5000 et le mettre
enable sur false.

Site = "http://irolog.free.fr"
ShellExecute Me.hwnd, "Open", Site, "", App.Path, 1
timer1.enable = true


et mettre show dans la procedure timer, puis timer1.enableúlse.




parci
Le #19966421
LE TROLL a écrit :
Bonjour,

Merci de ta réponse, mais ça ne marche pas davantage !

Déjà toi tu lances l'explorer, c'est un logiciel PC, évidemment que
ça marche, mais ce n'est absolument pas l'exemple que j'ai donné (moi
j'appelle un site) !

D'autre part l'API ShellExecute je crois accepte tous les explorer,
alors que Shelle n'accepte qu'InternetExplorer il me semble...




Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String, ByVal nShowCmd As Long) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As
Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Form_Load()
Dim Site As String
Site = "http://irolog.free.fr"
ShellExecute Me.hWnd, "Open", Site, "", App.Path, 1
Sleep 500
SetForegroundWindow Me.hWnd
End Sub
parci
Le #19966521
parci a écrit :
LE TROLL a écrit :
Bonjour,

Merci de ta réponse, mais ça ne marche pas davantage !

Déjà toi tu lances l'explorer, c'est un logiciel PC, évidemment que
ça marche, mais ce n'est absolument pas l'exemple que j'ai donné (moi
j'appelle un site) !

D'autre part l'API ShellExecute je crois accepte tous les explorer,
alors que Shelle n'accepte qu'InternetExplorer il me semble...




Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String, ByVal nShowCmd As Long) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As
Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Form_Load()
Dim Site As String
Site = "http://irolog.free.fr"
ShellExecute Me.hWnd, "Open", Site, "", App.Path, 1
Sleep 500
SetForegroundWindow Me.hWnd
End Sub




Ben, en fait non, ça marche avec FF mais pas avec IE ou Opera.
LE TROLL
Le #19966511
Suite,

Voici une solution, mais je voulais éviter de passer par si compliqué :


'*******************************
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As
String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
'
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'
Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As
String) As Long
'
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 Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_SHOWWINDOW = &H40
Const Flags = &H2 Or &H1 Or &H40 Or &H10
'
Sub Form_Load()
Dim Site As String
Dim reponse As Long
Site = "http://irolog.free.fr"
ShellExecute Me.hwnd, "Open", Site, "", App.Path, 1
reponse = SetWindowPos(Form1.hwnd, -1, 0, 0, 0, 0, Flags) ' toujours
visible
Sleep 1000
reponse = SetWindowPos(Form1.hwnd, -2, 0, 0, 0, 0, Flags) ' n'est plus
toujours visible
End Sub ' load
'*******************************

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"AT" news:4a8e7797$0$12613$
AT a couché sur son écran :


Dans ce cas, entre autres solutions, tu peux (aussi) faire:



Ajouter un timer sur ta form, donner un interval à 5000 et le mettre
enable sur false.

Site = "http://irolog.free.fr"
ShellExecute Me.hwnd, "Open", Site, "", App.Path, 1
timer1.enable = true


et mettre show dans la procedure timer, puis timer1.enableúlse.




Publicité
Poster une réponse
Anonyme