Про готовые решения ничего не скажу но если привязать к каждой кнопке по региону  а  в Button_MouseMove 
 
смотреть PtInRegion(RGN: HRGN; X, Y: Integer): BOOL; 
 
и менять .Enabled :  
  то  при Enabled = false -> клик отработает на нижнем  контроле (по MouseLeave вернуть исходное состояние) 
 
 
а про .ShowHint и так все ясно 
		
	
		
		
		
		
		
	
		
		
	
	
	 |