Solved

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

Posted on 2004-04-23
4
536 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

This is to be the first in a series of articles demonstrating the development of a complete windows based application using the MFC classes.  I’ll try to keep each article focused on one (or a couple) of the tasks that one may meet.   Introductio…
Introduction: Ownerdraw of the grid button.  A singleton class implentation and usage. Continuing from the fifth article about sudoku.   Open the project in visual studio. Go to the class view – CGridButton should be visible as a class.  R…
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.
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…

719 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