TPageControl i TTabControl
26.07.1999
  • Wykrywanie nad którą zakładką znajduje się kursor.

      Używając makra TabCtrl_HitTest() możesz określić, nad którą zakładką jest aktualnie kursor myszy. W ten sposób możesz zapobiec wybraniu zakładki, albo podświetlić ją. Poniższy przykład pokazuje jak za pomocą handlera OnChanging() zapobiec wybraniu pierwszej zakładki w kontrolce PageControl, tej samej metody możesz użyć dla TabControl.

//--------------------------------------------------
{ 
void __fastcall TForm1::PageControl1Changing(TObject *Sender,
                                           bool &AllowChange) 
 TC_HITTESTINFO hti; 
 POINT P; 
 int tab_index; 
 GetCursorPos(&P); 
 P = PageControl1->ScreenToClient(P); 

 hti.pt.x = P.x; 
 hti.pt.y = P.y; 

 tab_index = PageControl1->Perform(TCM_HITTEST, 0, (LPARAM)&hti); 

 // zapobiega wybraniu pierwszej zakładki... 
 if (tab_index == 0) AllowChange = false; 
}