Win Api - formatowanie tekstu w obiekcie typu Edit

0

Posiadam na formatce stworzony obiekt Edit:

hEdit_dgx = CreateWindow("edit", "", WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_LEFT | WS_BORDER, 30, 325, 200, 20, hwnd, (HMENU)107, *hInst, 0);

Moje pytanie jest następujące. Jak sformatować ten obiekt tak, żeby wyświetlał liczby w tradycyjnej notacji (nie 1,157E-010) i z określoną liczbą miejsc po przecinku.

W C++ używając konsoli wystarczy dodać w programie:

cout.setf(ios::fixed);
cout.precision(2);
0

Kontrolka Edit nie ma nic wspólnego z formatowaniem liczb. Podaje jej się wyłącznie tekst. Problem leży gdzie indziej, w miejscu w którym zamieniasz liczbę na tekst, właśnie tam musisz zadbać o format konwersji.

0

Hmm... No w sumie masz rację. Liczba, którą przekazuje do Edita jest typu double więc ją by pewnie trzeba sformatować. W Delphim jest taka funkcja FloatToStrF, a w C++?

0
ostringstream tekst;
tekst.setf(ios::fixed);
tekst.precision(2);
tekst << liczba;

SetWindowTextA(hEdit, tekst.str().c_str());
0

No tak masz rację. Przecież używam ostringstream'a do konwertowania double na string, a to przecież strumień więc można zrobić tak jak ze standardowym wyjściem.

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