bonjour,

je souhaite mettre une scrollbar à ma fenetre
mon code est le suivant :

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);
l et h sont la largeur et la hauteur de ma combo.
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:
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...
du coup il me manque peut être.. 20 ou 30px pour que ma scrollbar horizontal apparaisse...

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