[WinApi]Pole tekstowe przyjmujące dane
Ostatnio zmodyfikowano 2013-07-09 22:29
| DzieckoBezZycia Temat założony przez niniejszego użytkownika | [WinApi]Pole tekstowe przyjmujące dane » 2013-07-09 18:48:22 Siema!Mam pewien problem, a w kursie nie mogłem doczytać się jak zrobić całkiem ważną rzecz, jaką jest pole tekstowe przyjmujące dane(coś jak cout, tyle że "okienkowe"). Jak można coś takiego stworzyć?
 
 Z góry dziękuję za odpowiedź. ;)
 | 
|  | 
| pekfos | » 2013-07-09 19:09:50 EDIT? STATIC? | 
|  | 
| Monika90 | » 2013-07-09 22:13:28 Możesz użyć kontrolki edit ze stylem ES_MULTILINE i dodawać tekst na końcu w ten sposób: void append( HWND edit, const std::string & text ){
 int len = GetWindowTextLength( edit );
 SendMessage( edit, EM_SETSEL, len, len );
 SendMessage( edit, EM_REPLACESEL, false,( LPARAM ) text.c_str() );
 }
 
Natomiast, jeżeli chcesz by działało coś takiego: edit << std::setw( 4 ) << 123 << std::endl;
to jest to nieco trudniejsze, ale też się da zrobić. | 
|  | 
| pekfos | » 2013-07-09 22:29:10 | to jest to nieco trudniejsze, ale też się da zrobić. | 
 A tam zaraz trudniejsze. Wystarczy zdefiniować klasę bufora strumienia, przeciążyć xsputn()  i overflow() , a sam strumień to zwykły obiekt std::ostream /std::wostream  z referencją na bufor przekazaną do konstruktora ;) | 
|  | 
| « 1 » |