c++ - Get input after a mouse click SFML -


i making form using sfml , i'm stuck in place after click on rectangle , input. testing purpose, using cout print enter. here's code snippet. event object of sf::event, rect1 rectangle. in if statement, have specified area click. want print out type after click on rectangle. please on because haven't cracked on 6 hrs.

...

switch (event.type){     case event::closed:       window.close();             break;         case event::mousemoved:             //cout << event.mousemove.x << ", " << event.mousemove.y << endl;             break;         case event::mousebuttonreleased:             if (event.key.code==mouse::left                 && mouse::getposition(window).x >= rect1.getposition().x                 && mouse::getposition(window).x <= rect1.getposition().x + rect1.getsize().x                 && mouse::getposition(window).y >= rect1.getposition().y                 && mouse::getposition(window).y <= rect1.getposition().y + rect1.getsize().y)              {                     //what want here guess.                }             break;           } 

i assume you're making text box.

when box pressed should toggle boolean shows whether box selected or not. then, in event, should check if text has been entered (textentered event). if have, should check if text box selected, , if is, insert characters.

here example:

switch (event.type){      case event::closed:         window.close();         break;     case event::mousemoved:         //cout << event.mousemove.x << ", " << event.mousemove.y << endl;         break;     case event::mousebuttonreleased:         if (event.key.code==mouse::left             && mouse::getposition(window).x >= rect1.getposition().x             && mouse::getposition(window).x <= rect1.getposition().x + rect1.getsize().x             && mouse::getposition(window).y >= rect1.getposition().y             && mouse::getposition(window).y <= rect1.getposition().y + rect1.getsize().y)          {               // box has been selected               // toggle boolean               isselected = !isselected;         }         break;     case event::textentered:         if ( isselected )         {             if ( event.text.unicode < 0x80 ) // it's printable             {                 // here character typed                 char keystring = (char) event.text.unicode;                 // here should add character perhaps string containing total text in text box             }         } } 

this should let capture characters typed when text box selected.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -