cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 2023
-
22 mars 2005 à 19:47
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
22 mars 2005 à 21:07
Salut... Je veux que mon programme soit toujours en avant des autres programmes. Par exmeple si j'ouvre Word et bien me programme se trouverra toujours en premier plan et Word sera actif mais en second plan.
Quelqu'un m'a répondu cela
'Il faut utiliser l'api SetWindowPos un petit exemple tiré de l'API Guide :
Private Declare Sub 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)
Private Sub Form_Activate()
'Set the window position to topmost
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
'End Sub
J'intègre ce code mais rien ne fonctionne....
Quelqu'un peut m'aider pour me dire quoi fait quoi et pourquoi j'ai un Privare Declare sans code et sans end sub.
De plus Qu'est ce que le l'API Guide et pour uitliser l'API SetWindowPos, est ce que je doit aller setter quelque chose ou bien c'est seuelemtn un type de code...
Enfin je suis pas mal perdu et je dois absolument mettr ece code afion que mon prog fonctionne correctement...
cs_MasterHack
Messages postés586Date d'inscriptionjeudi 18 septembre 2003StatutMembreDernière intervention13 février 20082 22 mars 2005 à 20:15
les apis sont des declarations qui font appel a d'autres fonctions dans d'autres bibliotheque comme les dll les exe les ocx etc...
setwindowpos et une fonction de user32
tu devras mettre la declaration dans la partie generale du code de la form si privee
sinon dans un module.
<HR>
regarde cette source
http://www.vbfrance.com/code.aspx?id=26460 dans la checkbox il y a l'appel de cet api
Life is short...Learn more
Copy Rights <> Rights to Copy
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 22 mars 2005 à 21:07
il me semble que c'est moi qui t'avais répondu avec ce code il y a 2/3 jours.
Ce code marche très bien, il me sert tout les jours.
Je n'ai pas grand chose de plus à dire par rapport à mes camarades, si ce n'est :
- les lignes Private declare ........ ByVal X as long ......... sont à écrire sur une seule ligne dans ton code.
- idem pour SetWindowPos ......... SWP_NOMOVE.........
- ce code tel quel doit etre intégré dans la feuille qui doit etre au premier plan, sinon il faut l'adapter un petit peu
- Bien supprimer l'appostrophe (le rem comme dit Daniel) devant le END SUB
- quant aux options de la fonction SetWindowPos :
Const HWND_TOPMOST = -1 '--> au Premier Plan
Const HWND_NOTOPMOST = -2 '--> à l'arriere plan
Const SWP_NOSIZE = &H1 '--> pas de redimentionnement de la fenêtre
Const SWP_NOMOVE = &H2 '--> pas de déplacement de la fenêtre
Const SWP_NOACTIVATE = &H10 '--> fenêtre inactive
Const SWP_SHOWWINDOW = &H40 '--> affichage de la fenêtre
Pour l'API Guide, si tu est intéressé,
l'adresse du site était dans les commentaires au debut de la routine
activate dans le code que j'avais posté, je l'avais laissé pour ça
entre autre (et pour cité la source aussi, c'est la moindre des choses
--> copyright en quelque sorte).
J'espère que cette fois-ci, tu t'en sortira. sinon reviens nous voir,
la porte est ouverte et il y a toujours quelqu'un au comptoir (de
l'accueil bien sur).
Si le cerveau était assez simple pour que nous puissions le comprendre,
nous serions assez bête pour ne pas le comprendre malgré tout.