[..] Cacher une partie d'une fenêtre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

[..] Cacher une partie d'une fenêtre

#1

Message par Rancar »

Bonsoir,

Après une longue absence, j'ai une petite (ou grande, je ne sais pas trop) question.

Est-il possible de cacher une partie d'une fenêtre, sans utiliser les ControlHide/Show ? Si oui, comment ? :)

Par exemple, diviser une fenêtre en deux. Une partie sera visible, l'autre pas =)

Merci à vous :)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#2

Message par Tlem »

En la redimensionnant ?
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#3

Message par Rancar »

Le problème c'est que ça ne cache pas sur la partie souhaitée. Le redimensionnement va cacher une partie, certes, mais peut-être pas la partie que je souhaites (par exemple le milieu ou autre) ^^
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#4

Message par Tlem »

Hé bien dans ce cas, faites une autre GUI par dessus la première en prenant soins de ne pas afficher la barre de titre et le cadre (mais franchement, c'est du bricolage). :mrgreen:

Pour masquer des contrôles, la logique veux que vous utilisiez la fonction idoine et que vous désactiviez le contrôle. Certes si vous avez plusieurs contrôles, il vous faudra plusieurs lignes de code ou une fonction spécifique qui prendra l'ID (mémorisé) de chaque contrôle pour les activer/désactiver. Mais pour économiser 20 lignes de code et ce simplifier la vie, certains sont prêt à faire des choses ridicules. :roll:

Si vos contrôles tiennent dans un carré, ça peut le faire, mais si la forme doit être tordue, alors oubliez cette solution.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#5

Message par mikell »

+1
Pourquoi diable "sans utiliser les ControlHide/Show" ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#6

Message par Rancar »

En fait, pour être plus précis, je ne peux utiliser ControlHide/Show puisque cela cache le contrôle en entier. Or, je voudrais cacher qu'une partie de ce contrôle afin de pouvoir voir le bureau par exemple ^^
Je ne sais pas si c'est possible en AutoIT ou un autre langage quelconque mais qui ne tente rien n'a rien :mrgreen:

Petite question peut-être bête mais qui m'intrigue :
Comment donner à une fenêtre quelconque (non AutoIT), la possibilité d'être redimensionné ? Par exemple une fenêtre popup que l'on souhaite redimensionner sois-même (sans devoir utiliser WinMove)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#7

Message par mikell »

C'est pas vraiment clair
Il faudrait que tu postes un code avec une gui et le controle que tu veux "cacher en partie" (en précisant le résultat visuel souhaité)

Pour le redimensionnement tu peux utiliser _WinAPI_SetWindowLong pour imposer le style $WS_SIZEBOX à la fenêtre
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#8

Message par Rancar »

Voilà un mini bricolage de ce que je souhaiterais :
De :
► Afficher le texte
Vers :
► Afficher le texte
Pour le redimensionnement, j'ai essayé ceci mais ça ne fonctionne pas :?

Code : Tout sélectionner

#include <Constants.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
_WinAPI_SetWindowLong("Simple Shutdown Timer - By PcWinTech.com",$GWL_STYLE,$WS_SIZEBOX)
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#9

Message par FireFox »

Bonjour,
Pour ce logiciel faisable en 3 lignes de code autant le refaire au lieu de se prendre la tête.

Sinon tu déplaces par exemple le combobox à droite du bouton et tu agrandis la fenêtre en longueur.

Cdlt, FireFox.
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#10

Message par Rancar »

Je l'ai déjà fais ce logiciel (ICI) mais ici ce n'est qu'un exemple parmi d'autres :)
Pour faire cela sur d'autres fenêtres aussi :)

Et comment agrandir la fenêtre qu'en longueur ? :roll:
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#11

Message par FireFox »

Rancar a écrit : Et comment agrandir la fenêtre qu'en longueur ? :roll:
Soit en utilisant le keyword Default pour les paramètres Left, Top, Height de la fonction WinMove et de mettre ce que tu veux en largeur OU récupérer les valeurs de la fonction WinGetPos et de rajouter de la longueur afin de l'appliquer à WinMove.

Cdlt, FireFox.
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#12

Message par Rancar »

FireFox a écrit :
Rancar a écrit : Et comment agrandir la fenêtre qu'en longueur ? :roll:
Soit en utilisant le keyword Default pour les paramètres Left, Top, Height de la fonction WinMove et de mettre ce que tu veux en largeur OU récupérer les valeurs de la fonction WinGetPos et de rajouter de la longueur afin de l'appliquer à WinMove.

Cdlt, FireFox.
Ah oui merci, j'avais oublié le keyword Default ._.
Merci :D :mrgreen:

EDIT: comment faire pour que le redimensionnement de la fenêtre se fasse de droite à gauche et non l'inverse ? Car WinMove garde toujours la partie de droite et non celle de gauche lors du redimensionnement =/
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#13

Message par FireFox »

Ce que tu rajoutes à droite tu l'enlèves à gauche...
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#14

Message par Rancar »

Comment ça ? ^^
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#15

Message par FireFox »

Ce que tu rajoutes en Width tu l'enlèves en Left (du moins si tu veux que ça reste centré tu retires la moitié en Left).
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#16

Message par Rancar »

Je ne rajoute rien, au contraire, je retire à droite (WinMove) or j'aimerais retirer à gauche (je ne sais pas si c'est compréhensible :S)
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#17

Message par FireFox »

Rancar a écrit :Je ne rajoute rien, au contraire, je retire à droite (WinMove) or j'aimerais retirer à gauche (je ne sais pas si c'est compréhensible :S)
Ah. Ben y'a plus qu'à bouger tous les contrôles (cacher ceux qui ne seront plus visibles et déplacer sur la gauche ceux qui doivent rester visible puis appliquer le WinMove).
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#18

Message par mikell »

[mode "de passage" /ON]
_WinAPI_SetWindowLong() utilise le handle de la fenêtre pas son titre
[mode "de passage" /OFF]
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#19

Message par Rancar »

Je comprends plus rien là :roll:

Comment rétrécir la fenêtre avec WinMove en voulant garder la hauteur (height) et en retirant la partie de gauche. Juste pour garder la partie droite ?
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [..] Cacher une partie d'une fenêtre

#20

Message par FireFox »

Rancar a écrit :Je comprends plus rien là :roll:

Comment rétrécir la fenêtre avec WinMove en voulant garder la hauteur (height) et en retirant la partie de gauche. Juste pour garder la partie droite ?
Ce n'est PAS possible, tu dois d'abord faire ce que j'ai indiqué.
Répondre