Creating the OutLookRichEdit Control
Posted
by Madhu B Nair
on December 30th, 2002

Environment: VC6 SP4, 2000.
Follow these 10 easy steps to build the OutLookRichEdit control:
- Insert a rich edit control into the dialog.
- Call AfxInitRichEdit() in the InitInstance of the App class or in InitDialog.
- If it does not exist, copy OutLookRichEdit.cpp and OutLookRichEdit.h to the project directory.
- Click the menu choice Project-Add to Project-Files and select the above-copied files to add the wrapper class to your project.
- Import the hand cursor into the resource and rename it "IDC_LINK".
- Use Classwizard to add a member variable of the rich edit control (CRichEditCtrl).
- Include the OutLookRichEdit.h file in the dialog's header file and change the declaration of rich edit member variable, as in
- In InitDialog(), add the following code.
- Use ClassWizard to map OnNotify of the dialog and write the corresponding implementation code in .cpp file, like:
- Now, build and run the project. It is recommended that you set the read-only attribute to the rich edit control.
CRichEditCtrl m_ctrlText1;to
COutLookRichEdit m_ctrlText1;
m_ctrlText1.SetRawHyperText(_T("Click <%$here$#100#%> to see the about box."));
To Show a dialog while the link is clicked, you have to add some more code in the dialog class. Before that, have a closer look at the preceding code and hypertext syntax. The link text is enclosed between the "$" symbols and the corresponding dialog's resource value 100 (About Box), enclosed in "#" symbols.
You can find the #define values of dialogs in the resource.h file.
BOOL CDEMODlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) { NMHDR* pNmHdr = (NMHDR*) lParam; if(IDC_RICHEDIT1 == pNmHdr->idFrom){ switch(pNmHdr->code) { case IDD_ABOUTBOX: CAboutDlg oDlg; oDlg.DoModal (); break; } } return CDialog::OnNotify(wParam, lParam, pResult); }
Downloads
Download demo project - 23 KbDownload source - 6 Kb