|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre Expert
![]() J-Pierre CatherineConception Calcul Inscription : juillet 2007 Messages : 659 ![]() |
Bonjour a tous,
Travailler avec les API pour supprimer la croix d’un USf ou pour rajouter un bouton de réduction ou bien pour éviter le déplacement de l’USF c’est bien mais : Description de mon projet : avoir un USF plein écran d’ou l’intérêt du non déplacement (qu’il puisse reprendre sa place correctement), Layout ne me plaisant pas. Pouvoir y appeler plusieurs USF réduire ses USF pendant que l’on travail avec un en particulier d’ou l’intérêt du bouton de réduction. Ne pas pouvoir fermer l’ USF principal via la croix, Tout ça en même temps, pas sur d’y arriver avec les API. J’ai donc fait un premier test avec la suppression du déplacement. Pour l’USF principal et suppression de la croix sur les autres. Et j’ai fait le test du singe (cliquer partout n’importe comment sur un peu partout, test très important………..) puis fermer USF principal lui même fermant les autres et ……..la croix de mon application Excel inopérante !!!! J’ai mis des DoEvent un peut partout : pas de meilleur résultat. Donc moralité : trop d’interdiction et rien ne va plus. J’ai donc opté pour une gestion différente et c’est celle que je vous expose sans prétention mais qui me donne une bonne satisfaction Laisser l’USF principal déplaçable, mais avec la possibilité qu’il puisse retrouver sa place initiale : Code :
La déactivation de sa la croix : Code :
Pour les réductions des autres USF : La réduction n’est autre qu’une image représentant une réduction de USF dans laquelle j’ai remplacé la croix par l’icône « plein écran » . Quand on clique sur l’image elle disparaît , cache l’USF éventuellement ouvert , réaffiche l’image de cet USF et rappel l’ USF correspondant, les Images visibles ce recalant vers la gauche (les unes prenant la place des autres) La réduction de l’USF (la croix : fermer) fait réapparaître son image de réduction. Code :
Quand un USF secondaires est ouvert l’USF principal peu être déplacé lors que l’on lache la souris il reprend ça place. Les USF secondaires sont déplaçables mais il suffit de cliquer dans l’USF principal pour qu’ils reprennent leurs places tous les USF sont ouvert en Show (0) et seulement caché pendant toute l'utilisation ds l'application. J’ai donc tout ce que je voulais sans les API. Jean pierre |
||||||
|
|
00
|
|
|
#2 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Tu n'as pas essayé avec la propriété zoom ? (pas testé pour le cas que tu décris)
Mais ta solution paraît sympa, aucune objection |
|
|
00
|
|
|
#3 |
|
Inactif
Inscription : juillet 2007 Messages : 4 555 ![]() |
Bonsoir,
que veux-tu au bout du compte, exactement ? L'utilisation simple d'une fonction de l'Api de Windows qui : - inhiberait la "croix" de fermeture - inhiberait le déplacement tout en permettant - la réduction de la fenêtre ou encore : une combinaison de ce que tu veux comme inhibitions et permissions ? La chose est parfaitement et simplement réalisable dès lors que le hwnd de ta fenêtre est déterminé. Si celà t'intéresse, je m'y mets. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() J-Pierre CatherineConception Calcul Inscription : juillet 2007 Messages : 659 ![]() |
Bonjour tout le forum,
Bonjour Ouskel’nor et ucfoutu Inhiber la "croix" de fermeture Inhiber le déplacement Réduire la fenêtre en ajoutant les icônes de réduction On à des tas d’exemples Pour faire l’ensemble moins c’est vrai. Ce que je voulais dire qu’il peut avoir conflit lorsque ces procédures sont utilisées simultanément sur plusieurs objets. Et que j’ai constater que ces procédures pouvaient intervenir sur d’autre objet et notamment dans mon cas, à l’application Excel ouverte. Je ne suis pas spécialiste des Api de Windows, j’ai certainement des éléments qui me manque pour que cela fonctionne correctement. Je voulais dire que quelque fois on pouvait trouver des subterfuges pour arriver à ses fins. Et que de ce fait on pouvait avoir un meilleur contrôle de la situation. Il est bien évident que les Api m’intéresse, intervenir sur l’objet m’intéresse. C’est tout simplement une mise en garde, si je peut me permettre, sur l’utilisation de procédure que l’on maîtrise pas, et c’est mon cas en l’occurrence. Si ucfoutu pouvait expliqué comment utiliser ces api et d’en faire de véritable combinaison. Ce serait un grand pas pour un certain nombre d’entre nous, Par avance merci Bonne journée à tous et que VBA soit avec vous. Jean Pierre |
|
|
00
|
|
|
#5 | |||||
|
Inactif
Inscription : juillet 2007 Messages : 4 555 ![]() |
Citation:
Il me semble que tu as là : http://vb.developpez.com/faqvba/?page=3.6#UFhandle un exemple clair et facile, non ? Il est vrai qu'il ne concerne que la croix de fermeture et pas le reste, mais le reste, c'est tout simplement les autres constantes utilisables. Dans le code du lien, il suffit de remplacer par Code :
Code :
|
|||||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() J-Pierre CatherineConception Calcul Inscription : juillet 2007 Messages : 659 ![]() |
Bonjour ucfoutu,
Merci de tes réponses, Il n'y à pas de problème si ce n'est que ma méconnaissance des api, j'ai pas mal de code permettant d'agir sur les propriétés des fenetres. le problème n'est pas la, J'ai été sur la toile et j'ai trouvé des éléments et notament des explications sur qu'est et comment les comprendre. en ce moment je suis un peu surbooké, je m'y attacherais plus tard. encore merci, Jean Pierre |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 8 ![]() |
J'ai envoyé le 1er mars un code sur ce forum qui devrait répondre à toutes vos préoccupations.
Mais bien sûr, les solutions proposées sont basées sur les API, indispensables en VBA pour faire proprement ce genre de manip d'userform. J'espère que ceci sera utile à qq uns, parce que moi, je cherchais depuis longtemps à obtenir ceci. |
|
|
00
|
|
|
#8 |
![]() ![]() |
Bonjour
La contribution de Zandar est ici : http://www.developpez.net/forums/sho...d.php?t=501184 Starec |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com