Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML] Text Box i pisanie w nim

Ostatnio zmodyfikowano 2012-10-07 10:26
Autor Wiadomość
ridic14
Temat założony przez niniejszego użytkownika
» 2012-10-06 19:47:27
chgnm.DeleteChar(); ?

co to za metoda i jaki typ zmiennej? bo w sfml 2.0 nie ma tego ani w Text ani String

::MessageBeep( MB_ICONINFORMATION ); << jaka biblioteka do tego potrzebna?
P-66201
Admixior
» 2012-10-06 20:22:10
chgnm to jest moja własna klasa która po prostu usuwa ostatni znak
C/C++
Delete(...)
{
    //string txt;
    if( txt.size() ) txt.erase( txt.end() - 1 );
   
}
MessageBeep jest w WinUser.h (include Windows.h)
P-66208
ridic14
Temat założony przez niniejszego użytkownika
» 2012-10-06 20:22:45
wyprzedził mnie:)
P-66209
Admixior
» 2012-10-06 20:30:11
Jeśli chodzi o sf::Unicode::Text w SFML 1.6 to się nie da.
Musisz trzymać obok zmienną string i robić sf::String::SetText(...) za każdym razem.
Możesz też po prostu robić:
std::string lub std::wstring text;

i później wywoływać sf::String::SetText() bez problemu podając text z std.
Nie musi to być sf::Unicode::Text
P-66214
ridic14
Temat założony przez niniejszego użytkownika
» 2012-10-07 10:26:21
Ten twój kod obsługi backspace'a i enter'a jakiś toporny jest ja to zrobiłem krócej:
C/C++
if( event.type == event.TextEntered )
{
   
    if( event.text.unicode == 8 )
    {
        inActive = tekst.getString();
        if( inActive.size() ) inActive.erase( inActive.end() - 1 );
       
        tekst.setString( inActive );
        return;
    }
    if( event.text.unicode == 13 )
    {
        ::MessageBeep( MB_ICONEXCLAMATION );
        return;
    }
   
    tekst.setString( tekst.getString() + event.text.unicode );
    //std::cout << event.text.unicode << std::endl;
   
}
P-66250
1 « 2 »
Poprzednia strona Strona 2 z 2