我正在尝试创建一个文本框,供用户输入数据,但是一切正常,但是,每当我尝试设置backspace删除字符串最后一个字符的键时,即使无数教程,它也似乎不起作用已经向我展示了这种方式。
if (event.type == sf::Event::TextEntered)
{
sentence += (char)event.text.unicode;
//if (sentence.getSize() < 16) {
//
if (event.text.unicode == 8)
{
sentence.erase(sentence.getSize() - 1, sentence.getSize());
}
text.setString(sentence);
break;
//}
}
另外,我想知道什么是阻止字符串前进16个字符的最佳方法。
没关系,它没那么难,我要说的话你会觉得很奇怪^^
if (event.type == sf::Event::TextEntered) {
if (event.text.unicode == 8)
if (sentence.getSize())//If the string doesn't have any char, don't do anything
sentence.erase(sentence.getSize() - 1, sentence.getSize());
else //Don't add any character when you delete one
if(sentence.getSize() < 16)//Yeah, thats the best way to do it
sentence += (char)event.text.unicode;
text.setString(sentence);
break;
}
如果您按退格键,则您的程序会将其添加到字符串中,然后将其删除...所以...它什么也没做^^
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句