bonjour,
je souhaite mettre une scrollbar à ma fenetre
mon code est le suivant :
l et h sont la largeur et la hauteur de ma combo.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 int l = 700,l2=700; int h = 500,h2=500; if (largeur < l) l2 = (int) (largeur * 0.9); if (hauteur < h) h2 = (int) (hauteur * 0.9); System.out.println(largeur); System.out.println(hauteur); // if (largeur < l || hauteur < h) // shell = new Shell(display, SWT.BORDER | SWT.CLOSE // | SWT.MIN | SWT.V_SCROLL | SWT.H_SCROLL); // else shell= new Shell(display, SWT.BORDER | SWT.CLOSE | SWT.MIN|SWT.RESIZE); shell.setSize(l2, h2); Rectangle rect2 = shell.getClientArea(); compoGlobal = new ScrolledComposite(shell,SWT.V_SCROLL|SWT.H_SCROLL); compoGlobal.setLocation(0,0); compoGlobal.setSize(rect2.width,rect2.height);
largeur et hauteur est la résolution de l'écran.
mon problème est que getClientArea() prend bien la hauteur et la largeur de mon appli, mais sans prendre en compte mon menu:
du coup il me manque peut être.. 20 ou 30px pour que ma scrollbar horizontal apparaisse...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 menu = new Menu(shell, SWT.BAR); // creation d'un element de la bar de menu fichier = new MenuItem(menu, SWT.CASCADE); export = new MenuItem(menu, SWT.CASCADE); interro = new MenuItem(menu, SWT.CASCADE); fichier.setText("fichier"); export.setText("export"); interro.setText("?"); //etc...
question: est-ce que quelqu'un sait comment on récupère la taille du menu. étant donné que la taille de celui ci peut changer d'un PC à un autre (même si c'est légèrement), ça serait pas très propre de mettre une valeur en dure..
Merci pour votre aide!
Léa
Partager