• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 299
  • Last Modified:

How do you display RichEdit in a dialog?

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
fredmastro
Asked:
fredmastro
  • 6
  • 5
1 Solution
 
fredmastroAuthor Commented:
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
 
chensuCommented:
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
 
fredmastroAuthor Commented:
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
Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

 
fredmastroAuthor Commented:
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
 
trestanCommented:
Use
HINSTANCE m_instRE = ::LoadLibrary(_T("RICHED32.DLL"));
I do not think you need to reject an answer to get following information.
0
 
fredmastroAuthor Commented:
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
 
chensuCommented:
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
 
fredmastroAuthor Commented:
How do I do that Chensu?
0
 
chensuCommented:
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
 
chensuCommented:
By the way, you do not need to reject the answer to ask more questions if there is nothing wrong with the answer.
0
 
fredmastroAuthor Commented:
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
 
chensuCommented:
There should be only one class derived from CWinApp. The CMyWinApp I mentioned refers to that only one class.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now