CEdit-- How Do I Defeat the Right Mouse Button Menu?
Bruce DeGraaf -- bdegraaf@datx.com Wednesday, January 15, 1997 Environment: VC++ 4.2b, NT 4.0 If you right-mouse click on a CEdit, a menu for Cut, Paste, etc appears. I have a derived (from CEdit) class. HOW DO I DEFEAT THIS MENU? I have tried in both the derived class and the calling (dialog derived) class: 1. OnRButtonDblclk, OnRButtonDown, and OnRButtonUp I tried just not passing on the control by commenting out the default code. 2. WM_RBUTTONDBLCLK, WM_RBUTTONDOWN, WM_RBUTTONUP I tried simply ignoring these messages in the WindowProc I've seen a reference to this menu before (in some list of tricks). Thanks!
Greg D. Tighe -- gdt@eng.aisinc.com Friday, January 17, 1997 [Mini-digest: 5 responses] Under Windows 95, if I add a CEdit control member variable to a dialog class and then hand edit the dialog class' header file and change the CEdit member variable to be of class CMyEdit, I can then add an OnRButtonUp() handler to CMyEdit (using ClassWizard.) Within CMyEdit::OnRButtonUp(), if I then comment out the call to CEdit::OnRButtonUp() this will disable the right mouse button menu. > Environment: VC++ 4.2b, NT 4.0 > > If you right-mouse click on a CEdit, a menu for Cut, Paste, etc appears. > I have a derived (from CEdit) class. > HOW DO I DEFEAT THIS MENU? -Greg Tighe Applied Intelligent Systems, Inc. Ann Arbor, MI gdt@aisinc.com -----From: "James P. Kelleghan"Try using PreProcessMessage(). ---------- > From: Bruce DeGraaf > To: 'mfc-l@netcom.com' > Subject: CEdit-- How Do I Defeat the Right Mouse Button Menu? > Date: Wednesday, January 15, 1997 5:39 PM > > > Environment: VC++ 4.2b, NT 4.0 > > If you right-mouse click on a CEdit, a menu for Cut, Paste, etc appears. > I have a derived (from CEdit) class. > HOW DO I DEFEAT THIS MENU? > I have tried in both the derived class and the calling (dialog derived) > class: > 1. OnRButtonDblclk, OnRButtonDown, and OnRButtonUp > I tried just not passing on the control by commenting out the default > code. > 2. WM_RBUTTONDBLCLK, WM_RBUTTONDOWN, WM_RBUTTONUP > I tried simply ignoring these messages in the WindowProc > I've seen a reference to this menu before (in some list of tricks). > Thanks! -----From: Raja Segar At 18:39 15/01/1997 EST, you wrote: > >Environment: VC++ 4.2b, NT 4.0 > >If you right-mouse click on a CEdit, a menu for Cut, Paste, etc appears. >I have a derived (from CEdit) class. >HOW DO I DEFEAT THIS MENU? >I have tried in both the derived class and the calling (dialog derived) >class: >1. OnRButtonDblclk, OnRButtonDown, and OnRButtonUp >I tried just not passing on the control by commenting out the default >code. >2. WM_RBUTTONDBLCLK, WM_RBUTTONDOWN, WM_RBUTTONUP >I tried simply ignoring these messages in the WindowProc >I've seen a reference to this menu before (in some list of tricks). >Thanks! > Hi there ...here is how i do it void CMyEditCtrl:OnRButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default // CEdit::OnRButtonDown (nFlags, point); // remark the line above and replace it with the line below return; // he he he this is all that neesed to do the job; } Hope this solves your problem. Bye ( _ \/ __)(_ ) ) /\__ \ / /_ (_)\_)(___/(____)@pc.jaring.my -----From: SCS.007@mch.scn.de It worked perfectly for me. // MyEdit.h class MyEdit : public CEdit { // [Code snipped] // Generated message map functions protected: //{{AFX_MSG(MyEdit) afx_msg void OnRButtonDown(UINT nFlags, CPoint point); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; // MyEdit.cpp : BEGIN_MESSAGE_MAP(MyEdit, CEdit) //{{AFX_MSG_MAP(MyEdit) ON_WM_RBUTTONDOWN() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // MyEdit message handlers void MyEdit::OnRButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default TRACE("Trapped RT-ButtonDnClick\n"); } Can you send the code you had written??? Chandru. -----From: Roger Onslow/Newcastle/Computer Systems Australia/AU >If you right-mouse click on a CEdit, a menu for Cut, Paste, etc appears. Have you tried overriding/ignoring the WM_CONTEXTMENU message (which may be what eidt control is responding to) Here is docco on it from SDK: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The WM_CONTEXTMENU message notifies a window that the user clicked the right mouse button (right clicked) in the window. hwnd = (HWND) wParam; xPos = LOWORD(lParam); yPos = HIWORD(lParam); Parameters hwnd Handle to the window in which the user right clicked the mouse. This can be a child window of the window receiving the message. For more information about processing this message, see the Remarks section. xPos Horizontal position of the cursor, in screen coordinates, at the time of the mouse click. yPos Vertical position of the cursor, in screen coordinates, at the time of the mouse click. Return Values No return value. Remarks A window can process this message by displaying a shortcut menu using the TrackPopupMenu or TrackPopupMenuEx function. If a window does not display a shortcut menu it should pass this message to the DefWindowProc function. If a window is a child window, DefWindowProc sends the message to the parent. Otherwise, DefWindowProc displays a default shortcut menu if the specified position is in the window's caption. DefWindowProc generates the WM_CONTEXTMENU message when it processes the WM_RBUTTONUP or WM_NCRBUTTONUP message. See Also DefWindowProc, TrackPopupMenu, TrackPopupMenuEx, WM_NCRBUTTONUP, WM_RBUTTONUP <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Hope this helps ============================================================ Roger Onslow Software Development Manager - Quisine Division Computer Systems Australia ------------------------------------------------------------ Ph: +61 49 675266 Fax: +61 49 675554 Personal mailto:Roger_Onslow@compsys.com.au Quisine info mailto:Quisine@compsys.com.au Visit us at http://www.compsys.com.au/Quisine.html ============================================================ Quisine - Designing for the Future ============================================================
Paul Martinsen -- pmartinsen@hort.cri.nz Monday, January 20, 1997 [Mini-digest: 2 responses] > > Environment: VC++ 4.2b, NT 4.0 > > If you right-mouse click on a CEdit, a menu for Cut, Paste, etc appears. > I have a derived (from CEdit) class. > HOW DO I DEFEAT THIS MENU? I haven't tried this, but there is a WM_CONTEXTMENU message now. Maybe trapping this one might help? Paul. Paul Martinsen. --------------------------------------------------------------- PhD Student. p.martinsen@auckland.ac.nz Deparment of Electrical and Electronic Engineering University of Auckland. Hort+Research Private Bag Ruakura Research Centre Auckland Hamilton. New Zealand New Zealand. --------------------------------------------------------------- -----From: pjn@indigo.ie (pjn) On Wed, 15 Jan 97 18:39:00 EST, you wrote: > >Environment: VC++ 4.2b, NT 4.0 > >If you right-mouse click on a CEdit, a menu for Cut, Paste, etc appears.= =20 >I have a derived (from CEdit) class. >HOW DO I DEFEAT THIS MENU? >I have tried in both the derived class and the calling (dialog derived) = =20 >class: >1. OnRButtonDblclk, OnRButtonDown, and OnRButtonUp >I tried just not passing on the control by commenting out the default =20 >code. >2. WM_RBUTTONDBLCLK, WM_RBUTTONDOWN, WM_RBUTTONUP >I tried simply ignoring these messages in the WindowProc >I've seen a reference to this menu before (in some list of tricks). >Thanks! > Handle WM_CONTEXTMENU ''' =20 @ @ +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= ooO-(_)-Ooo=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | PJ Naughter | | | | Software Developer Email: pjn@indigo.ie | | Softech Telecom Tel: +353-1-2958384 | | Fax: +353-1-2956290 | | Author of DTime - A Collection URL: http://indigo.ie/~pjn | | of Date & Time classes for MFC Mail: Cahore, | | And Ballygarret, | | Notpad, the best Notepad clone Gorey | | for Windows 95 and NT 4 Co. Wexford | | Ireland | | | +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+
Bryan Schilling -- bchili@execpc.com Tuesday, January 21, 1997 Bruce DeGraaf wrote: > > Environment: VC++ 4.2b, NT 4.0 > > If you right-mouse click on a CEdit, a menu for Cut, Paste, etc appears. > I have a derived (from CEdit) class. > HOW DO I DEFEAT THIS MENU? > I have tried in both the derived class and the calling (dialog derived) > class: > 1. OnRButtonDblclk, OnRButtonDown, and OnRButtonUp > I tried just not passing on the control by commenting out the default > code. > 2. WM_RBUTTONDBLCLK, WM_RBUTTONDOWN, WM_RBUTTONUP > I tried simply ignoring these messages in the WindowProc > I've seen a reference to this menu before (in some list of tricks). > Thanks! Override OnContextMenu
| Вернуться в корень Архива |