Comment faire Glisser une FORM venant du bordde l'écran

rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013 - 17 août 2012 à 09:05
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013 - 19 août 2012 à 12:57
En faite j'ai créé une Form qui vient du haut de l'écran, et qui me permet d'avoir des options intéressante ! Elle apparait uniquement lorsque j'ai CTRL enfoncé avec la souris vers le haut !
mon problème c'est qu'en je suis sur word, ou n'importe qu'elle autre logiciel elle n'apparait que derrière, impossible de la mettre devant j'ai essayé TOUT CELA sans aucune réussite:

'FENia.Show
'IA.SetFocus: FENia.Refresh


'SetFocus FENia.hWnd
'SetForegroundWindow FENia.hWnd

'sleep2 2500
'EnableWindow FENia.hwnd, True
'FENia.ZOrder


'Premier_plan FENia, False
'GetWinHandles
'SetActiveWindow le_handle("IA en cours ...") 'a& = SetFocus2(INFO_PROG_ID(i%))

'FENia.Top -1000: FENia.Show: on_off 1: Timer_animation.Interval = 50

'Premier_plan FENia, True
'Premier_plan FENia, False
'FlashWindow FENia.hwnd, False
'FlashWindow FENia.hwnd, True
'IA.SetFocus
'ShowWindow FENia.hwnd, 9 'SW_RESTORE
'SetForegroundWindow FENia.hwnd
'SetForegroundWindow Me.hwnd

'Premier_plan FENia, True
'Premier_plan FENia, False
'ShowWindow handle, SW_RESTORE
'SetForegroundWindow FENia.hwnd

'FENia.Top -1000: on_off 1: Timer_animation.Interval = 50
'Sleep 200
'SendKeys "%{TAB}", True

'Premier_plan FENia
'Premier_plan FENia, False
'Exit Sub


'GetWinHandles

'SetForegroundWindow le_handle("Microsoft Excel - stagiaire.xls")
'ShowWindow le_handle("Microsoft Excel - stagiaire.xls"), SW_SHOWDEFAULT

'SetActiveWindow le_handle("IA en cours ...") 'a& = SetFocus2(INFO_PROG_ID(i%))
'SetForegroundWindow le_handle("IA en cours ...")
'ShowWindow le_handle("IA en cours ..."), SW_SHOWNA

'FENia.Caption = "IA"


'FENia.SetFocus
'IA.SetFocus



... Donc un peu de tout comme vous voyez ! ! !

en faite l'option qui marche le plus est de la mettre en premier plan
gràce à ma sub :

Public Sub Premier_plan(frm As Object, Optional ByVal active As Boolean = True)
'force l'affichage au dessus des autres fenetres, bien sûr
frm.Show
If active = True Then
SetWindowPos frm.hWnd, -1, 0, 0, 0, 0, &H2 Or &H1
Else
SetWindowPos frm.hWnd, -2, 0, 0, 0, 0, &H2 Or &H1
End If

End Sub

Mais là un autre problème apparait, ma FORM FENIA clignotte dans la barre des taches, et je ne suis toujours pas dessus, je suis toujours sur les autres(word,etc...), mon clavier est sur les autres ! Pourtant elle est affiché devant tout le monde ! ! !

j'ai trouvé un seul artifice PRIMAIRE pour que cela fonctionne !

SendKeys "%{TAB}", True: sleep2 100: SendKeys "{RIGHT}{left}", True

et oui le ALT TAB ! ! ! Mais cela déconne 1 fois sur 20

...

Quelqu'un pourrait il m'aider ?

1 réponse

rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
19 août 2012 à 12:57
cela y est j'ai trouvé, pour le déplacement c'était facile il suffisait de changer FORM.TOP

le plus dure comme vous aviez compris c'était d'avoir le focus :
j'ai utilisé une astuce(clic de la souris !)

je l'ai mis là :
http://www.vbfrance.com/codes/DONNER-FORM-PREMIER-PLAN-FOCUS-ETRE-SELECTIONE_54528.aspx

MAINTEANT C'EST TROOP BIEN
0
Rejoignez-nous