Problème : DUnit et Mouse_Event()
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:
1 2 3
|
procedure SimulateClickOnTabSheet(PageControl : TPageControl;
TabSheet : TTabSheet); |
Implémentation;
Code:
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; |
Et pour l'appelle de cette fonction je le fait de cette manière :
Code:
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 !!