Locking out CTRL-C on an MFC OCX wrapped rich edit control.

I have written an OCX in MSV C++ Ver 6.00.  This control wraps a standard rich edit control.  My base class is cOleControl.

I want to disable the CTRL-C copy function so that information cannot be easily copied. The control is also read-only.  I have tried numerous Onxxxx methods to dectect a character of  ASCII 3 (ctrl-c) and not call the base class in this case.  I also did a check on the message pump function and did not pass the message along if it was a WM_CHAR with a character of 3.  I'm not that familiar with MFC, so I think I am lost.  Does the MFC object receive windows event first or last?  Any ideas on how to lock out ctrl-c in my case?

Thanks
LVL 3
rmichelsAsked:
Who is Participating?
 
r2farConnect With a Mentor Commented:
PreTranslateMessage() function recieves all events before they are dispatched to child controls and windows.


Here is an example.

BOOL CPEntry::PreTranslateMessage(MSG *pMsg)
{
   if( pMsg->hwnd==*this )
   {
      if( pMsg->message == WM_COPY )
      {
         // return TRUE says the message has been handled.
         return TRUE;
      }
   }

   return CMaskEntry::PreTranslateMessage(pMsg);
}



Hope this helps =)
0
 
jkrConnect With a Mentor Commented:
You should try to handle and suppress WM_COPY.
0
 
rmichelsAuthor Commented:
I tried numerous ways to suppress WM_COPY.  What is the best way to capture the message?   Who gets the message first..MFC or the control I have created within my OCX.

Thanks
0
 
rmichelsAuthor Commented:
I accepted both of your answers and split the points as they put me on the right track..but...apparently an RTF control does not generate a WM_COPY.  The standard edit control does.  As I have this control read only and don't care about keyboard input I handled WM_CHAR, WM_KEYDOWN and WM_KEYUP in the pretranslate message function.

0
All Courses

From novice to tech pro — start learning today.