Bonjour à tous !
Je suis actuellement en train de mettre en place une batterie de test DUNIT pour application. Je cherche à simuler le clique sur l'onglet d'un TabControl.
J'ai créer une fonction qui positionne la souris sur cette onglet et qui lance un clique (mouse_event()). CEtte fonction marche très bien dans un simple projet avec deux form toute bête. Mais dés que j'effectue ce teste avec DUnit le clique ne s'effectue plus.
Voilà le code de ma fonction
Signature :
Code Delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 procedure SimulateClickOnTabSheet(PageControl : TPageControl; TabSheet : TTabSheet);
Implémentation;
Et pour l'appelle de cette fonction je le fait de cette manière :
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 procedure TestDUNIT.SimulateClickOnTabSheet(PageControl : TPageControl; TabSheet : TTabSheet); var TabBounding : TRect; TabBoundingCor : TPoint; begin //Test que l'on ne puisse pas changer d'onglet lorsque l'on est en mode d'insertion TabBounding := PageControl.TabRect(TabSheet.PageIndex); TabBoundingCor := PageControl.ClientToScreen(TabBounding.TopLeft); Mouse.CursorPos := TabBoundingCor; Application.ProcessMessages; Mouse_Event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); end;
Code Delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 FFormAvecTab.Show; SimulateClickOnTabSheet(FFormAvecTab.pxyPageControlDetails, FFormAvecTab.pxyTabSheetDetail); Check(FFormAvecTab.pxyPageControlDetails.ActivePage = FFormAvecTab.pxyTabSheetDetail,'BEAU ça a marché');
Une Bière à celui qui trouve la solution à ce problème !!
Partager