[c++] WinApi, czyszczenie zawartości pola tekstowego

0

Tworzę sobie pole:

wnd_crt[102]=CreateWindowEx(0,"EDIT",s_inf.c_str(), WS_CHILD | WS_VISIBLE | WS_BORDER, 1200, h, 40, 20, hWnd, (HMENU)102, GetModuleHandle(NULL), NULL);

Świeżo po odpaleniu, programik pobiera wartość z tablicy i wyświetla w powyższym polu. Wszystko ok. Mogę sobie tam kliknąć, edytować ręcznie zawartość itd.
W innym miejscu programu, zrobiłem odczyt z pliku. Chcę, aby ZAMIAST znajdującej się w tym polu liczby, znalazła się nowoodczytana liczba.

SendMessage(wnd_crt[102], EM_REPLACESEL,0,(LPARAM)s_inf.c_str());

Wyświetlają mi się jednak 2 liczby (obok siebie, bez spacji), odczytam plik jeszcze raz - odczytana liczba jest po raz kolejny dorzucana do istniejącej już zawartości. Probowałem

SendMessage(wnd_crt[102], CB_RESETCONTENT,0,0);

ale niczego to nie zmienia - zawartość dalej jest. Używałem też "CreateWindow" zamiast "CreateWindowEx", a także paru innych opcji, które mogły być związane z usuwaniem - nic.

0

EM_REPLACESEL najpierw usuwa to co jest zaznaczone, a potem dopisuje na aktualnej pozycji, więc albo najpierw zaznacz (EM_SETSEL) albo użyj SetWindowText by za jednym zamachem usunąć całość i wstawić nowy tekst, ale bez możliwości cofnięcia przez usera.

1 użytkowników online, w tym zalogowanych: 0, gości: 1