[Visual 6.0 C++] EditBox & funkcje!

0

Witam!
Mam dwa pytania.

1.) Czy istnieje możliwosci (no to na pewno - pytanie czy jest to skomplikowane), wyswietlenia zawartosci pliku *.txt w polu EditBox'a.
Otoz na chwile obecna udaje mi sie pobierac z pliku kazda linie i umieszczac ja w polu EditBox, ale niestety w pierwszym wierszu (cala zawartosc txt znajduje sie w pierwszym wierszu EditBoxa).
Jak zrobic aby kazda linia z pliku txt trafiala do nowego (kolejnego) wiersza.?!!?!?
Udalo mi sie to zrealizowac za pomoca pola Static - wszystko wyswietla sie ok, ale niestety nie ma suwakow, wiec calego tekstu nie widac!

2.) No tu chyba banalne pytanie ale na chwile obecna nie moge sobie z tym problemem poradzic. Otoz, dajmy na to ze programuje jakis button - w jego ciele musze umiescic dwie funkcje (jedna rekurencyjna, wywoluje m.in. ta druga). Chodzi mi o to jak/gdzie zadeklarowac te funkcje?! A i czy umiescic je w ciele buttonu czy na zewnatrz.

PS.
Prosze o wyrozumialosc, tak sobie od nie dawna kombinuje w MFC, a w sieci dosyc malo wyczerpujacych informacji - choc to dziwne, nie?!

To tyle, bede wdzieczny za kazda pomoc.
Pozdrawiam

0

Ad.1. Ustaw editbox na multiline. Nowa linie mozesz zrobic wstawiajac '\r\n'.
Ewentualnie dorob suwaki do kontrolki static ;)

Ad.2. W jakim ciele? Mozesz stworzyc sobie obie funkcje jako globalne, mozesz jako metody okna, w ktorym istnieje metoda wywolywana przy kliknieciu na button. Mozesz tez stworzyc klase pochodna od CButton i w niej umiescic takze metody twoich funkcji. Wlasciwie jak ci wygodniej, choc drugi sposob jest bardziej przejrzysty i latwiejszy w wykorzystaniu przy innych projektach.

P.S. Akurat o MFC w sieci jest masa informacji. Jedyny problem w tym, ze nie w polskiej czesci.

0

No to powiedzmy ze pierwszy problem (pyt nr 1) rozwiazany, choc niestety nie do konca. Otoz na koncach linii w EditBoxie, pojawiaja sie czarne prostokaciki. Przypuszczam, ze sa to znaki nowej linii?! Jak sie tego mam pozbyc?!!?!? ;(((

0

A dziwne, bo nie powinno. Klasa bazowa dla twojej kontrolki to CEdit ? No i jak ustawiasz text w kontrolce?

0

Bo ja mniej wiecej robie tak.
Funkcja fgets(linia,100,plik) szczytuje dane z pliku, ale jak wiadomo - takim sposobem czytam tylko jedna linie, ta linia jest zapisywana do pola editboxa, problem wystepuje gdy czyta nastepna linie z pliku bo naklada ja na to pierwsza linie z editboxa.
Poradzilem sobie z tymi m.in. tak:

 
tekst.Format("%\r\n",linia); // \r\n - to dzieki tobie, teraz przechodzi do nastepnego wiersza w editboxie ale wstawia te znaczki na koncu)
m_editbox.operator+=(tekst);

ps.
A moze latwiej zamiast pojedynczych linii byloby zczytac Od razu caly plik(tekst), tylko jak!?

0

Wrzuc caly plik razem z nowymi liniami do zmiennej tekst (CString) a nastepnie ustaw m_editbox.SetWindowText(tekst);
U mnie hula, u ciebie tez powinno.

0

Wrzuc caly plik razem z nowymi liniami do zmiennej tekst (CString)

Tylko jak?!?! :-/ [???]

0

Pobierz linie. Dodaj do zmiennej, ustaw \r\n. Powtorz calosc do zakonczenia pliku. Wstaw dane ze zmiennej do editbox'a :)

0

Nic to niestety nie pomaga. :(

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