Gambas France BETA


Pas de compte ? Incription

[RÉSOLU]Comment identifier la fenêtre active[GB3].

Ce sujet est résolu.

1
AuteurMessages
Reivillo#1 Posté le 12/1/2012 à 17:29:41
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonsoir.

J'aimerai savoir si il est possible,
sous GB3, ou en ligne de commande,
d'avoir les Infos de la fenêtre active,
autre que celle de l'application.
(Qui fonctionnera en arrière plan).
"Positions, Dimensions".

A+.
Reivillo.

Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Prokopy#2 Posté le 12/1/2012 à 18:09:42
Kinder PinguiSalut Reivillo,

Tu peux obtenir ces informations (et plein d'autres) grâce au composant gb.desktop.

Petit exemple :

1
2
3
4
5
6
DIM fenetreActive AS DesktopWindow = Desktop.Windows[Desktop.ActiveWindow] 'On récupère la fenêtre active

PRINT fenetreActive.X
PRINT fenetreActive.Y
PRINT fenetreActive.Width
PRINT fenetreActive.Height 'etc ...


Tu peux aussi la déplacer, la redimensionner ... je te laisse voir la doc pour plus d'infos : http://gambasdoc.org/help/comp/gb.desktop?fr&v3 ;)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
manu#3 Posté le 12/1/2012 à 18:20:26
Avec Gambas ca roule !alors peut être que ça pourra t'aider :


En gambas

http://gambasdoc.org/help/comp/gb.desktop/desktop/find?fr&view

En ligne de commande :

xprop : http://www.xfree86.org/current/xprop.1.html
xwininfo : http://www.xfree86.org/4.2.0/xwininfo.1.html
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Reivillo#4 Posté le 12/1/2012 à 19:04:29
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Salut Prokopy.

J'ai testé, mais j'ai une erreur,
"out of bounds"

à manu

Je vais étudier cela, après diner.


A+
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Prokopy#5 Posté le 12/1/2012 à 19:57:55
Kinder PinguiOups, oui en effet je me suis trompé. C'est :

1
2
3
4
5
6
DIM fenetreActive AS DesktopWindow = Desktop.Windows.FromHandle(Desktop.ActiveWindow) 'On récupère la fenêtre active

PRINT fenetreActive.X
PRINT fenetreActive.Y
PRINT fenetreActive.Width
PRINT fenetreActive.Height 'etc ...
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
Reivillo#6 Posté le 13/1/2012 à 14:23:06
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Re.

J'ai toujours un problème avec
le retour de la position X et Y de la fenêtre.
J'ai toujours selon sa Position sur l'écran:
X=4 et Y=24
Par contre les Dimensions suivent bien apparemment.

A+.


xwininfo: Window id: 0x4000003 "reivillo@reivillo-laptop: ~"

Absolute upper-left X: 94 (24,79 mm)
Absolute upper-left Y: 137 (36,21 mm)
Relative upper-left X: 4 (1,05 mm)
Relative upper-left Y: 24 (6,34 mm)
Width: 601 (158,47 mm)
Height: 435 (114,98 mm)
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0 (0,00 mm)
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +94+137 -329+137 -329-196 +94-196
-geometry 73x24+90+113
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
manu#7 Posté le 13/1/2012 à 18:32:16
Avec Gambas ca roule !Absolute upper-left X et Y changent bien quand tu déplaces ta fenêtre et Relative upper-left X et Y ne change pas quelque soit la position de celle ci...

Mais essayes au maximum, d'utiliser gambas et son composant gb.desktop
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Reivillo#8 Posté le 13/1/2012 à 19:04:39
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonsoir manu.

Sûr, que j'essaie toujours d'utiliser GB.

J'avais les mêmes retours avec gb.desktop,
dans le 2éme Code que me proposai Prokopy.
C'est à cause de cela, que je me suis mis,
à aller fouiner du coté de xwininfo.

Alors, comment récupérer:
Absolute upper-left X et Y,
en lieu et place de:
Relative upper-left X et Y.

Je continue à chercher.

A+.
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Reivillo#9 Posté le 23/1/2012 à 14:36:39
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonjour à Tous.

Excusez moi, j'avais oublier,
de retourner le test positif.
Voici le code pour le test:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
' Gambas class file

PUBLIC MyDesktopWatcher AS OBJECT
PUBLIC MyButton AS OBJECT
PUBLIC NTest AS INTEGER

PUBLIC SUB Form_Open()
MyDesktopWatcher = NEW DesktopWatcher(TRUE) AS "MyDesktopWatcher"
ME.W = 350
ME.H = 350
ME.Stacking = Window.Above
ME.center
ME.show
MyButton = NEW Button(ME) AS "_MyButton_"
MyButton.text = "Pour Tester Déplacer cette Fenêtre et Cliquer ICI"
MyButton.X = 15
MyButton.Y = 200
MyButton.W = 320
MyButton.H = 24
END

PUBLIC SUB _MyButton__Click()
DIM fenetreActive AS DesktopWindow = Desktop.Windows.FromHandle(Desktop.ActiveWindow)
fenetreActive.Refresh
INC NTest
PRINT " >>>>>>>>>>>>>>>>>>>>> TEST "; NTest
PRINT " <<<<< Fenêtre Active >>>>>"
PRINT " Name :", fenetreActive.Name
PRINT " Org X:", fenetreActive.X
PRINT " Org Y:", fenetreActive.Y
PRINT " Geo W:", fenetreActive.Width
PRINT " Geo H:", fenetreActive.Height
END

Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
1