[R] Fenêtre sans bordure ni barre de titre
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Fenêtre sans bordure ni barre de titre
Bonjour
Je souhaiterais pouvoir ouvrir une application en mode "popup" sans que ni les bordures ni la barre de titre n'apparaissent. Je peux le faire sur une GUI grâce à $WS_POPUP mais avec ma maigre expérience en AutoIt je sèche pour l'adapter sur une application comme le bloc note par exemple.
Si quelqu'un à la solution je suis preneur.
D'avance merci.
Je souhaiterais pouvoir ouvrir une application en mode "popup" sans que ni les bordures ni la barre de titre n'apparaissent. Je peux le faire sur une GUI grâce à $WS_POPUP mais avec ma maigre expérience en AutoIt je sèche pour l'adapter sur une application comme le bloc note par exemple.
Si quelqu'un à la solution je suis preneur.
D'avance merci.
Modifié en dernier par cluster49 le ven. 23 mai 2014 15:22, modifié 1 fois.
Re: [..] Fenêtre sans bordure ni barre de titre
Pour appliquer un style à une fenêtre (autre que ta GUI), tu peux utiliser _WinAPI_SetWindowLong()
Petit exemple d'utilisation :
Petit exemple d'utilisation :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [..] Fenêtre sans bordure ni barre de titre
Merci jguinch,
Cela fonctionne mais je n'arrive pas à adapter à mon cas. En fait je ne comprends pas bien la partie :
$gui_style = GUIGetStyle ($hGUI)[0]
$gui_extStyle =GUIGetStyle ($hGUI)[1]
J'ai essayé de simplifier au maximum le code de cette façon :J'ai donc remplacé $gui_style par $WS_POPUP pensant que ce serait la même chose mais ce n'est pas le cas puisque je ne peux alors plus écrire dans le bloc note.
Dans mon code simplifié, par quoi remplacer $WS_POPUP pour que je puisse utiliser le bloc note comme dans ton code ?
Cela fonctionne mais je n'arrive pas à adapter à mon cas. En fait je ne comprends pas bien la partie :
$gui_style = GUIGetStyle ($hGUI)[0]
$gui_extStyle =GUIGetStyle ($hGUI)[1]
J'ai essayé de simplifier au maximum le code de cette façon :
► Afficher le texte
Dans mon code simplifié, par quoi remplacer $WS_POPUP pour que je puisse utiliser le bloc note comme dans ton code ?
Re: [..] Fenêtre sans bordure ni barre de titre
Code : Tout sélectionner
_WinAPI_SetWindowLong ( $hNotepad, $GWL_STYLE, $WS_POPUP + $WS_VISIBLE + $WS_CLIPSIBLINGS)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Fenêtre sans bordure ni barre de titre
GuiGetStyle retourne une array (cf.l'aide)
GUIGetStyle ($hGUI)[0] est l'équivalent de
$gui_style = GUIGetStyle ($hGUI)
$st = $gui_style[0]
$WS_POPUP seul ne suffit pas, une fenêtre a toujours une combinaison de styles
A vue de nez ce qu'il te faudrait c'est qqe chose comme
BitOr($WS_POPUP, $WS_TABSTOP, $WS_VISIBLE)
Edit
jguinch on poste encore en même temps
BitOr !!
GUIGetStyle ($hGUI)[0] est l'équivalent de
$gui_style = GUIGetStyle ($hGUI)
$st = $gui_style[0]
$WS_POPUP seul ne suffit pas, une fenêtre a toujours une combinaison de styles
A vue de nez ce qu'il te faudrait c'est qqe chose comme
BitOr($WS_POPUP, $WS_TABSTOP, $WS_VISIBLE)
Edit
jguinch on poste encore en même temps
BitOr !!
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- TommyDDR
- Modérateur

- Messages : 2127
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Fenêtre sans bordure ni barre de titre
+1 avec Mikell, il faut utiliser BitOr pour combiner des flags.
Vu que les gens s'entêtent à utiliser le +, voici un exemple de "Pourquoi BitOr ?" :
Voici les flags :
Maintenant vous voulez utiliser les flags $WS_POPUPWINDOW (parce que vous aimez bien ne pas avoir de barre de titre) et le flag $WS_BORDER, parce que la bordure est cool.
$WS_BORDER + $WS_POPUPWINDOW = 0x81080000 (car $WS_POPUPWINDOW contient déjà $WS_BORDER)
Alors que
BitOr($WS_BORDER, $WS_POPUPWINDOW) = 0x80880000
Avec BitOr, vous n'avez pas à vous soucier qu'un flag soit présent une fois ou plus. Et encore, là je donne un exemple fixe, imaginez maintenant un UDF qui combinerait un flag choisi par l'utilisateur et un flag forcé par votre UDF, si l'utilisateur choisis le même flag que celui qui est forcé, vous courrez à la catastrophe.
Vu que les gens s'entêtent à utiliser le +, voici un exemple de "Pourquoi BitOr ?" :
Voici les flags :
Code : Tout sélectionner
$WS_POPUP = 0x80000000
$WS_BORDER = 0x00800000
$WS_SYSMENU = 0x00080000
$WS_POPUPWINDOW = 0x80880000$WS_BORDER + $WS_POPUPWINDOW = 0x81080000 (car $WS_POPUPWINDOW contient déjà $WS_BORDER)
Alors que
BitOr($WS_BORDER, $WS_POPUPWINDOW) = 0x80880000
Avec BitOr, vous n'avez pas à vous soucier qu'un flag soit présent une fois ou plus. Et encore, là je donne un exemple fixe, imaginez maintenant un UDF qui combinerait un flag choisi par l'utilisateur et un flag forcé par votre UDF, si l'utilisateur choisis le même flag que celui qui est forcé, vous courrez à la catastrophe.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Re: [..] Fenêtre sans bordure ni barre de titre
Ah oui, je suis allé un peu vite...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Fenêtre sans bordure ni barre de titre
Calcul machiavélique ou chance ?
Code : Tout sélectionner
#include <WindowsConstants.au3>
$1 = $WS_POPUP + $WS_VISIBLE + $WS_CLIPSIBLINGS
$2 = BitOr($WS_POPUP, $WS_VISIBLE, $WS_CLIPSIBLINGS)
Msgbox(0,"", "0x" & Hex($1) &@crlf& "0x" & Hex($2))
$1 = $WS_BORDER + $WS_POPUPWINDOW
$2 = BitOr($WS_BORDER, $WS_POPUPWINDOW)
Msgbox(0,"", "0x" & Hex($1) &@crlf& "0x" & Hex($2))" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Fenêtre sans bordure ni barre de titre
Un grand merci messieurs,
Grâce à vous j'y vois plus claire. Il me reste cependant une question : Une fois les bordures et la barre de titre supprimées la fenêtre n'est pas réduite pour autant, le "corps" de celle-ci s'ancre dans le coin du haut à gauche. Il reste donc une large bande de pixels en bas qui ne sert à rien ainsi qu'une bande à droite. Y a t-il moyen de les supprimer ou de les masquer pour que la taille de la fenêtre soit parfaitement adaptée à son contenu ?
En espérant avoir été claire.
Grâce à vous j'y vois plus claire. Il me reste cependant une question : Une fois les bordures et la barre de titre supprimées la fenêtre n'est pas réduite pour autant, le "corps" de celle-ci s'ancre dans le coin du haut à gauche. Il reste donc une large bande de pixels en bas qui ne sert à rien ainsi qu'une bande à droite. Y a t-il moyen de les supprimer ou de les masquer pour que la taille de la fenêtre soit parfaitement adaptée à son contenu ?
En espérant avoir été claire.
Re: [..] Fenêtre sans bordure ni barre de titre
Ca doit dépendre de l'application elle-même. C'est qu'elle application ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [..] Fenêtre sans bordure ni barre de titre
Dans mon cas il s'agit de "vncviewer" mais j'ai le même résultat avec notepad : l'ascenseur vertical du logiciel n'est pas collé sur la droite et en bas on voit également une zone vide (la zone de texte et son ascenseur vertical n'arrivent pas jusqu'en bas. En fait il faudrait pouvoir rogner le bas de la fenêtre de 38 pixels et la droite de 16 pixels pour l'adapter à son contenu.
En fait l'espace du bas de 38 pixels correspond initialement à la hauteur de la barre des titres + la bordure du bas (30 + 8 ) et l'espace de droite de 16 pixels correspond initialement à l'épaisseur des deux bordures verticales du logiciel (8 + 8 ). Je suis sous aero.
En fait l'espace du bas de 38 pixels correspond initialement à la hauteur de la barre des titres + la bordure du bas (30 + 8 ) et l'espace de droite de 16 pixels correspond initialement à l'épaisseur des deux bordures verticales du logiciel (8 + 8 ). Je suis sous aero.
Re: [..] Fenêtre sans bordure ni barre de titre
Toutes les fenêtres ne sont pas prévues pour ça...
Une solution pourrait être de passer le VNCViewer en plein écran puis redimensionner la fenêtre :
Ca marche bien chez moi avec la version Enterprise.
Une solution pourrait être de passer le VNCViewer en plein écran puis redimensionner la fenêtre :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [..] Fenêtre sans bordure ni barre de titre
Ah oui c'est bien vu. Je peux adapter la taille de ma fenêtre. Mais cela me fait apparaitre des ascenseurs. Je souhaiterais les enlever pour que tout soit parfait mais une fois encore je sèche
.
Re: [..] Fenêtre sans bordure ni barre de titre
Dans les options du viewer (enterprise pour moi), je peux choisir "Scale to window size", du coup pas d’ascenseur : le contenu s'adapte à la taille de la fenêtre (l'affichage est donc déformé).
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [..] Fenêtre sans bordure ni barre de titre
Non en effet je n'ai pas ça sur le mien mais j'ai trouvé une version qui le fait "Real VNC". Quoi qu'il en soit je devrais pouvoir m'en sortir maintenant.
Un grand merci pour votre aide.
Un grand merci pour votre aide.

