Solved

How do you display RichEdit in a dialog?

Posted on 1998-08-02
12
262 Views
Last Modified: 2013-11-19
When ever I ad a RichEdit control to my dialog box, the dialog box will not come up on the screen when I run it.  But if I remove the RichEdit control, then the dialog box comes up just fine.   I want to use a RichEdit box instead of a Edit box to show some info.  How do I get my Dialog box to show up with it?
0
Comment
Question by:fredmastro
  • 6
  • 5
12 Comments
 
LVL 2

Author Comment

by:fredmastro
ID: 1320148
ALSO, how do I add a CString Variable to the RichEdit box.  when I go in Class Wizard, under Variables, I can't add a variable to it.
0
 
LVL 23

Expert Comment

by:chensu
ID: 1320149
You need to load the RichEdit DLL (RICHED32.DLL for version 1.0 or RICHED20.DLL for version 2.0) before creating the dialog box and free it after destroying the dialog box.

m_instRE = ::LoadLibrary(_T("RICHED32.DLL"));

if (m_instRE != NULL)
    ::FreeLibrary(m_instRE);

You should associate the RichEdit control to CRichEditCtrl instead of CString.
0
 
LVL 2

Author Comment

by:fredmastro
ID: 1320150
Chensu, Where do I get m_instRE  from?  I can't add a variable to the RichEdit Control, the Class Wizrd won't let me.
0
 
LVL 2

Author Comment

by:fredmastro
ID: 1320151
This is the error message I get when I paste your code in.

'm_instRE' : undeclared identifier

D:\DEV STUDIO\MY PROJECTS\MCA AUTORUN\MCA Autorun\NumbersDlg.cpp(52) : error C2440: '=' : cannot convert from 'struct INSTANCE__ *' to 'int'
                                                                 This conversion requires a reinterpret_cast, a C-style cast or function-style cast
0
 
LVL 8

Expert Comment

by:trestan
ID: 1320152
Use
HINSTANCE m_instRE = ::LoadLibrary(_T("RICHED32.DLL"));
I do not think you need to reject an answer to get following information.
0
 
LVL 2

Author Comment

by:fredmastro
ID: 1320153
Well I didn't get no errors trestan. Thanks.  But my dialog window still won't show up.  When I click on the assoicated button, nothing happens.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 23

Expert Comment

by:chensu
ID: 1320154
You can define HINSTANCE m_instRE as a member variable of your CWinApp class and call LoadLibrary in the InitInstance, FreeLibrary in the ExitInstance.
0
 
LVL 2

Author Comment

by:fredmastro
ID: 1320155
How do I do that Chensu?
0
 
LVL 23

Accepted Solution

by:
chensu earned 70 total points
ID: 1320156
You can use the ClassWizard to add a private member variable HINSTANCE m_instRE in your CWinApp class and add the virtual member function ExitInstance. It should look like

class CMyWinApp : public CWinApp
{
//...
// Overrides
        // ClassWizard generated virtual function overrides
        //{{AFX_VIRTUAL(CPnApp)
        public:
        virtual BOOL InitInstance();
        virtual int ExitInstance();
       //}}AFX_VIRTUAL

private:
    HINSTANCE m_instRE;
//...
};

BOOL CMyWinApp::InitInstance()
{
//...
    m_instRE = ::LoadLibrary(_T("RICHED32.DLL"));
//...
}

int CMyWinApp::ExitInstance()
{
//...
    if (m_instRE != NULL)
        ::FreeLibrary(m_instRE);

    return CWinApp::ExitInstance();
//...
}

0
 
LVL 23

Expert Comment

by:chensu
ID: 1320157
By the way, you do not need to reject the answer to ask more questions if there is nothing wrong with the answer.
0
 
LVL 2

Author Comment

by:fredmastro
ID: 1320158
Sorry about that, with the answer thing.
I appreciate your help.  But where do I define the HINSTANCE? The dialog with the RichEdit box is off of the main dialog box.  I looked in ClassWizrd but not sure where to add what you mentioned.  Under CMainApp? Or Under CRichEditApp?  (The RichEditApp being loaded off the the MainApp)
0
 
LVL 23

Expert Comment

by:chensu
ID: 1320159
There should be only one class derived from CWinApp. The CMyWinApp I mentioned refers to that only one class.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this article, I'll describe -- and show pictures of -- some of the significant additions that have been made available to programmers in the MFC Feature Pack for Visual C++ 2008.  These same feature are in the MFC libraries that come with Visual …
Introduction: Dynamic window placements and drawing on a form, simple usage of windows registry as a storage place for information. Continuing from the first article about sudoku.  There we have designed the application and put a lot of user int…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now