[R] Fenêtre sans bordure ni barre de titre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
cluster49
Niveau 3
Niveau 3
Messages : 32
Enregistré le : lun. 02 juil. 2012 11:56
Status : Hors ligne

[R] Fenêtre sans bordure ni barre de titre

#1

Message par cluster49 »

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.
Modifié en dernier par cluster49 le ven. 23 mai 2014 15:22, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#2

Message par jguinch »

Pour appliquer un style à une fenêtre (autre que ta GUI), tu peux utiliser _WinAPI_SetWindowLong()

Petit exemple d'utilisation :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
cluster49
Niveau 3
Niveau 3
Messages : 32
Enregistré le : lun. 02 juil. 2012 11:56
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#3

Message par cluster49 »

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 :
► Afficher le texte
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 ?
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#4

Message par jguinch »

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 !
Avatar du membre
mikell
Spammer !
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

#5

Message par mikell »

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 :mrgreen:
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 )
Avatar du membre
TommyDDR
Modérateur
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

#6

Message par TommyDDR »

+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 :

Code : Tout sélectionner

$WS_POPUP = 0x80000000
$WS_BORDER = 0x00800000
$WS_SYSMENU = 0x00080000
$WS_POPUPWINDOW = 0x80880000
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.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#7

Message par jguinch »

Ah oui, je suis allé un peu vite...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
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

#8

Message par mikell »

Calcul machiavélique ou chance ? :mrgreen:

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 )
cluster49
Niveau 3
Niveau 3
Messages : 32
Enregistré le : lun. 02 juil. 2012 11:56
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#9

Message par cluster49 »

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.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#10

Message par jguinch »

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 !
cluster49
Niveau 3
Niveau 3
Messages : 32
Enregistré le : lun. 02 juil. 2012 11:56
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#11

Message par cluster49 »

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.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#12

Message par jguinch »

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 :
► Afficher le texte
Ca marche bien chez moi avec la version Enterprise.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
cluster49
Niveau 3
Niveau 3
Messages : 32
Enregistré le : lun. 02 juil. 2012 11:56
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#13

Message par cluster49 »

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 :(.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#14

Message par jguinch »

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 !
cluster49
Niveau 3
Niveau 3
Messages : 32
Enregistré le : lun. 02 juil. 2012 11:56
Status : Hors ligne

Re: [..] Fenêtre sans bordure ni barre de titre

#15

Message par cluster49 »

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.
Répondre