CEditView

8 отговора 181 прегледа
#1

CEditView

Ako nqkoj e rabotil sys CEditView, znae, 4e pri natiskane na buton Open (ili izbirane na file->open), toj sam otwarq file dialog, sled natiskaneto na ok pro4ita syotwetniq file i go wizualizira. Wyprosyt mi e kak moga az, ne6tastniq programist, prinuden da raboti s MFC, da razbera po programen na4in koj file e izbral o6te po-ne6tastniq user, prinuden da raboti s moite tworeniq :-). Towa mi trqbwa za nqkoi po-specifi4ni obrabotki na teksta, az koito ne e dobre da se izpolzwa GetEditControl().GetWindowText(), za6toto se o4akwa moqta programa da raboti s golemi files i e po-udobno da se se 4ete direktno ot file.
predwaritelno blagodarq.

stoj, ta gledaj
Отговор
в отговор на vili_d #2

OnFileOpen()

ID_FILE_OPEN --> OnFileOpen()

Отговор
в отговор на Xypodilec #3

Re: OnFileOpen()

ne se izkazwaj nepodgotwen!!!!
ako se override-wa, 6te se izgubi pyrwona4alnoto dejstwie na bazowiq klas. ako pyk towa se predizwika izri4no, file dialog-a 6te se pokave 2 pyti, koeto e dosta gadno spored men. kakwo 6te kave6, ako nqkoq programa iskadwa pyti da izbere6 edin i sy6t file, a?
kakto i da e, maj namerih ne6to kato re6enie.

stoj, ta gledaj
Отговор
в отговор на vili_d #4

Re: CEditView

CDocument::OnSaveDocument

Отговор
в отговор на vili_d #5

:))):):)

При положение, че ти трябва сам да си поддържаш отварянето на файлове за какъв Хикс ти е да не се "izgubi pyrwona4alnoto dejstwie na bazowiq klas"???

Там, по-долу ти е предложено CDocument::OnSaveDocument. Понеже ти за отваряне говореше - аналогичното е OnOpenDocument(LPCTSTR lpszPathName). lpszPathName ти е пълния път на файла. Tова при положение, че не ти трябва да правиш нищо преди показването на диалога, де.

Отговор
в отговор на MиГ #6

Re: CEditView

10x za smisleniq otgowor :-). wsy6tnost towa stawa w OnNewDocument(), no wse pak mi dade nasoka.

stoj, ta gledaj
Отговор
в отговор на Xypodilec #7

Re: :))):):)

ne stawa6e wypros za otwarqneto na files, a za obrabotka na teksta w tqh. iskam da si zapaza dejstwieto na bazowiq klas, za da ne si pi6a sama text editor. kakto i da e, namerih razre6enie na problema po naj-lesniq i kontroliruem na4in.

stoj, ta gledaj
Отговор
в отговор на vili_d #8

Имай предвид още, че

"The amount of text a CEditView can contain is limited. The limits are the same as for the CEdit control"

та такива работи...

Отговор
в отговор на Xypodilec #9

Re: Имай предвид още, че

To change this limit in your control, override the OnCreate() function for your CEditView class and insert the following line of code:

GetEditCtrl().SetLimitText(nNewVal); //nNewVal, the new character limit

taka 4e nqma stra6no

stoj, ta gledaj
Отговор