Solved

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

Posted on 2004-04-23
4
517 Views
Last Modified: 2013-11-20
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
0
Comment
Question by:rmichels
  • 2
4 Comments
 
LVL 86

Assisted Solution

by:jkr
jkr earned 125 total points
ID: 10904023
You should try to handle and suppress WM_COPY.
0
 
LVL 3

Author Comment

by:rmichels
ID: 10909755
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
 
LVL 4

Accepted Solution

by:
r2far earned 125 total points
ID: 10912581
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
 
LVL 3

Author Comment

by:rmichels
ID: 10912755
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

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

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: Dialogs (1) modal - maintaining the database. Continuing from the ninth article about sudoku.   You might have heard of modal and modeless dialogs.  Here with this Sudoku application will we use one of each type: a modal dialog …
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.
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.

912 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

17 Experts available now in Live!

Get 1:1 Help Now