Poll the event only once, not every time you need to. So only one sf::Event object is needed.
You can change this part :
if(sStartBnRec.contains(localPosition.x,localPosition.y))
{
sStartBn.setTexture(tStartBn_hl);
while(window.pollEvent(eMouseClk))
{
if (eMouseClk.type == sf::Event::MouseButtonPressed)
{
if(eMouseClk.mouseButton.button == sf::Mouse::Left)
{
nCurrentScene=2;
}
}
}
}
to
if(sStartBnRec.contains(localPosition.x,localPosition.y))
{
sStartBn.setTexture(tStartBn_hl);
if (event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Right)
nCurrentScene=2;
}