Bonjour à tous.
On va proposer un mécanisme de fonctionnement d'une 'Coolbar' contenant des 'ToolBar' et des 'BCButton' de l'onglet 'BGRA Controls'.
L'avantage d'une 'CoolBar' est qu'elle puisse contenir et gérer plusieurs barres d'outils(jumelles) simultanément.
Les 'BCButton' disposent d'une richesse graphique considérable.
1) On ajoute à une fiche une 'CoolBar1' (FixedOrder:True, FixedSise:True).
2) On dépose sur cette 'CoolBar1' quatres 'ToolBar' (qui portent des 'BCButton'), la première (ToolBar1) est la barre 'maîtresse' toujours apparente,
qui gère par des 'BCButton' codés, les trois autres barres, dont une seule peut apparaitre à la fois.
3) On va agrandir la hauteur de 'CoolBar' de telle manière que toutes les 'ToolBar' apparaissent.
4) On clique sur CoolBar1/Band/TCoolBand et on configure leurs propriétés:
* control:ToolBarx FixedSize:true MinHeight:n (n entier p.ex 35).
5) On configure maintenant les 'ToolBar':
* Constraints/MinHeight:n (35) ButtonHeight:n-1 (34) Transparent:True EdgeInner:esnone EdgeOuter:esnone.
*On diminue la hauteur de 'CoolBar1' de telle manière qu'ils apparaissent les deux premières bandes uniquement.
6) On ajoute sur 'ToolBar1' trois bouttons 'BCButton'(AutoSize:False width:qq) qui gère chacun une 'Coolband' de 'CoolBar1' à l'aide d'une procédure:
1/Déclaration de la procédure.
2/Initialisation de la largeur des barres d'outils.
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 interface uses Classes, SysUtils, FileUtil, BCButton, Forms, Controls, Graphics, Dialogs, ComCtrls; Procedure Bande(Band:TCoolBand); implementation procedure Bande(Band:TCoolBand); begin Form1.CoolBar1.Bands[1].Visible:=False; //Band[0] toujour visible, corresponde à la première barre d'outils. Form1.CoolBar1.Bands[2].Visible:=False; Form1.CoolBar1.Bands[3].Visible:=False; Band.Visible:=True ; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 procedure TForm1.FormActivate(Sender: TObject); begin Toolbar1.Constraints.MaxWidth:=Coolbar1.Width-5 ; Toolbar2.Constraints.MaxWidth:=Coolbar1.Width-5 ; Toolbar3.Constraints.MaxWidth:=Coolbar1.Width-5 ; Toolbar4.Constraints.MaxWidth:=Coolbar1.Width-5 ; Bande(Form1.CoolBar1.Bands[1]); end;
3/Les trois BCButtons.
merci à tous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure TForm1.BCButton1MouseEnter(Sender: TObject); begin Bande(Form1.CoolBar1.Bands[1]) end; procedure TForm1.BCButton2MouseEnter(Sender: TObject); begin Bande(Form1.CoolBar1.Bands[2]) end; procedure TForm1.BCButton3MouseEnter(Sender: TObject); begin Bande(Form1.CoolBar1.Bands[3]) end;![]()
Partager