Afficher plusieurs feuilles et en mettre une prioritaire

bichoncanada Messages postés 47 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 31 mai 2006 - 31 mai 2006 à 19:50
bichoncanada Messages postés 47 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 31 mai 2006 - 31 mai 2006 à 22:54
Bonjour,

Lorsque je lance mon programme, ma feuille principale (appelée Client) s'affiche comme je veux dans le coin en haut à gauche, puis lorsque j'appuie sur mon bouton "Ouvrir les Vidéo", une autre fenêtre (appelée Vidéo) s'ouvre et je peux sélectionner la visualisation des vidéos. Le problème est que je veux que la fenêtre principal ne se réduise jamais même quand je suis sur la feuille "Vidéo".J'ai mis "Vidéo.Show" mais je ne sais pas quoi mettre dans (modal et owner Form).
J'espère que j' ai été assez clair et si quelqu'un avait la solution ca serait cool.

Merci d'avance

Guillaume

5 réponses

Shark-Man Messages postés 22 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 7 octobre 2006
31 mai 2006 à 20:01
Tu utilises le système des feuilles MDI ?
Si ce que tu veux c'est que ta forme reste toujours au premier plan il suffit d'utiliser ce code:







Dans un module :



Private


Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
PrivateC onst HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Declare Function SetWindowPos Lib"USER32" (ByVal hwnd AsLong, ByVal hWndInsertAfter AsLong, ByVal x AsLong, ByVal y AsLong, ByVal cx AsLong, ByVal cy AsLong, ByVal wFlags AsLong) AsLong




Pour que la forme reste au premier plan utilises:




SetWindowPos Me.hwnd,

HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
Pour annuler cette fonction il te suffit de la relancer en remplacant HWND_TOPMOST par HWND_NOTOPMOST.

J'espère avoir repondu à ta question.
Bonne continuation.






°
The world is moving so fast these days that the person who says it can't be done is generally interrupted by someone doing it °
Harry Emerson Fosdick
0
bichoncanada Messages postés 47 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 31 mai 2006
31 mai 2006 à 20:19
le set windows je dois le mettre dans la commande qui permet d'ouvrir la fenêtre Vidéo  ???
et les private const au début dela feuille principale ???
0
bichoncanada Messages postés 47 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 31 mai 2006
31 mai 2006 à 20:43
J'ai trouvé où les mettre mais quand je lance il me mets en message d'erreur " Convention d'appel de DLL incorrect" et me souligne en jaune SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE.
Donc cela n'a pas l'air de marcher.
Peux tu m'aider ???
0
Shark-Man Messages postés 22 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 7 octobre 2006
31 mai 2006 à 22:22
Peut etre ai-je mal copier/coller ou toi..
Reessaye avec sa pour voir.

Dans la partie déclaration du module:
Private Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2;
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

Dans le _Load de ta form pour que sa soit actif des le chargement:
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE

Lorsque tu ne veux plus que la forme soit toujours au premier plan:
SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE

Chez moi ce code fonctionne parfaitement :(
J'espere vraiment te donner ce que tu attend sa serait dmg que tu te donne du mal pour rien lol.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bichoncanada Messages postés 47 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 31 mai 2006
31 mai 2006 à 22:54
oui c'est bon ca m'a vraiment aidé mais j'ai utilisé plutôt utilisé SWP_NOREDRAW = 0 et ca marche niquel donc merci.
0
Rejoignez-nous