ja sais pas trop mais je pense que tu toucha pas TCustomTabControl
dans unité comctrl
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 TPageControl = class(TCustomTabControl) private FPages: TList; FActivePage: TTabSheet; FNewDockSheet: TTabSheet; FUndockingPage: TTabSheet; .....
bien sur ou se touve TTabSheet tu la remplasse par TTabpedroSheet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 TPedroPageControl = class(TCustomTabControl) private FPages: TList; FActivePage: TTabpdroSheet; FNewDockSheet: TTabpedroSheet; FUndockingPage: TTabpedroSheet; ....
et
pour TTabpedroSheet il est présque le meme que TTabSheet la seule différense réside dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 TTabSheet = class(TWinControl) par TTabpedroSheet = class(TWinControl) et TPageControl par TPedroPageControl
change en quelque chose comme,(en ajoutant un evenement "freeQuery" dans votre tchepdro )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 destructor TTabSheet.Destroy; begin if FPageControl <> nil then begin if FPageControl.FUndockingPage = Self then FPageControl.FUndockingPage := nil; FPageControl.RemovePage(Self); end; inherited Destroy; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 destructor TTabSheet.Destroy; var b:boolean; begin if FPageControl <> nil then begin //la c'est a toi de voir le code exacte a fére mais c'est une idée c'est tout if assigned(freequery) then freequery(b); if not b then exit; if FPageControl.FUndockingPage = Self then FPageControl.FUndockingPage := nil; FPageControl.RemovePage(Self); end; inherited Destroy; end;
Partager