Splitter with CRichEditView
Ken Miller -- kmiller@ccse.net Monday, October 21, 1996 Environment: VC++ 4.0, Win95 I am trying to create an app that utilizes a spillter that would allow one view of a file on the left and a different view (modified) of the file on the right. I have the splitter ok, and I have the left pane (unmodified input file) done ok. But the problem I am having is what exactly to do about the right pane. I have found references on how to do two views for the same document, but I am using CRichEditView and Doc and have always read that the view goes with the document, one-to-one. I would like the left pane to be just ASCII and the right pane to be RTF. Right now I have the left pane as CRichEdit and am not sure if the right pane should be a completely separate doc/view or not. I am simply setting the m_bRTF flag to ASCII for the left pane/view and didn't think I could do that for the right pane unless I used a completely sparate document. Could someone please help with the right approach and maybe some guidance on how to do this? Any help would be greatly appreciated. Thanks in advance...Ken
Mike Morel -- mmorel@mushroomsoft.com Tuesday, October 22, 1996 [Mini-digest: 3 responses] I did something like this, with a CTreeView on the left and a = CRichEditView on the right. You can have more than one view on the = CRichEditDoc, as long as one is a CRichEditView. There are a few things = to keep in mind. This is from an article about it in MFC For Yourself: Once all of this was straightened out, the two views began to = peacefully co-exist. The guidelines are: If you want a CRichEditView, your document must be derived from = CRichEditDoc. If you have a CRichEditDoc-derived document, the first view created = must be from CRichEditView. In every view besides the rich edit view, handle ON_UPDATE_COMMAND_UI = for=20 ID_OLE_VERB_FIRST to prevent improper casting of view pointers. For that last guideline, that means you should disable the command = ID_OLE_VERB_FIRST command for all other views, because the doc handles = it and casts the active view improperly. What kind of view is the other (ASCII) view - CEditView? Have you = figured out how to get the plain text from the RTF? If not, I've got an = example of that also. Mike Morel Mushroom Software Home of MFC For Yourself http://www.mushroomsoft.com/mushroom ---------- From: Ken Miller[SMTP:kmiller@ccse.net] Sent: Monday, October 21, 1996 6:42 PM To: mfc-l@netcom.com Subject: Splitter with CRichEditView Environment: VC++ 4.0, Win95 =20 I am trying to create an app that utilizes a spillter that would allow = one view of a file on the left and a different view (modified) of the file = on the right. I have the splitter ok, and I have the left pane = (unmodified input file) done ok. But the problem I am having is what exactly to do about the right pane. I have found references on how to do two views = for the same document, but I am using CRichEditView and Doc and have always read that the view goes with the document, one-to-one. I would like = the left pane to be just ASCII and the right pane to be RTF. Right now I = have the left pane as CRichEdit and am not sure if the right pane should be = a completely separate doc/view or not. I am simply setting the m_bRTF = flag to ASCII for the left pane/view and didn't think I could do that for = the right pane unless I used a completely sparate document. =20 Could someone please help with the right approach and maybe some = guidance on how to do this? Any help would be greatly appreciated. =20 Thanks in advance...Ken -----From: Roger Onslow/Newcastle/Computer Systems Australia/AU As I understand, a CRichEditView is a window/view containing a rich edit control, and it is this control (rather than the document) that contains the actual rich text. To do the split with rich text on one side and ascii (or some other non-rich-text view) on the other, I'd look at having the other view ask the doc for a pointer to the rich edit view, then use that to ask for the actual text to display (so the document acts as a sort of proxy for getting the info you need). If you want two rich-text-views of the same document, however, I think you're out of luck (or need to do a lot more work). Hope this helps (and is correct) Roger -----From: Ian PepperHi Ken, First off, you can have as many views on a document as you like. Therefore, you may use two CRichEditViews of the same document with no difficulty. The sample VIEWEX shipped with the compiler provides an excellent example of how to do this. It uses different view classesto render the document in a splitter. But, there is nothing to stop you from using the same view class twice in your splitter. Hope this clears up the confusion. Ian ------------------------------------------------------------------------- --------- Ian Pepper, Tel: +353-1-6766188 Flexicom Ltd, Fax: +353-1-6766199 32 Leeson St Lwr, URL: http://www.flexicom.ie Dublin 2, email: ian@flexicom.ie Ireland. ________________ ~ ~ ( _(#)____________}}}} ------------------------------------------------------------------------- ----------
Roger Onslow/Newcastle/Computer Systems Australia/ Thursday, October 24, 1996 >Thanks for the reply. I think I am going to try using the CEditView and >the CRichEditView with a single CDocument, instead of hte CRichEditDoc. CRichEditView *requires* CRichEditDoc. (This is what I have read from people doing similar things -- eg in DrDobbs a couple of months ago there was an article about having a split view with tree control on one side and view on another and the contortions that had to be done to accomplish this -- look up DrDobbs back issues if you have them. I'll have alook myself when I've time and let you know). Roger
| Вернуться в корень Архива |