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

[WinApi]Pole tekstowe przyjmujące dane

Ostatnio zmodyfikowano 2013-07-09 22:29
Autor Wiadomość
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ź. ;)
P-87340
pekfos
» 2013-07-09 19:09:50
EDIT? STATIC?
P-87346
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:
C/C++
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:
C/C++
edit << std::setw( 4 ) << 123 << std::endl;
to jest to nieco trudniejsze, ale też się da zrobić.
P-87358
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 ;)
P-87359
« 1 »
  Strona 1 z 1