How to get a handle to the CEdit Popup Menu
Mark Johnson -- MJohnson@ixc-comm.net
Wednesday, April 02, 1997
Environment: VC++ 4.2-flat, NT 4.0
I can't seem to find where the Popup Menu for the CEdit control
is created.
What I want to do is insert two more menu items into that popup menu.
Any suggestions, Mark.
David Little -- dlittle@equinoxcorp.com
Thursday, April 03, 1997
Add a handler to the WM_CONTEXTMENU message and do it there.....
----------
From: Mark Johnson[SMTP:MJohnson@ixc-comm.net]
Sent: Wednesday, April 02, 1997 8:21 AM
To: 'mfc-l@netcom.com'
Subject: How to get a handle to the CEdit Popup Menu
Environment: VC++ 4.2-flat, NT 4.0
I can't seem to find where the Popup Menu for the CEdit control
is created.
What I want to do is insert two more menu items into that popup menu.
Any suggestions, Mark.
ktm@ormec.com
Thursday, April 03, 1997
On mfc-l, Mark Johnson (mjohnson@ixc-comm.net) wrote:
> Environment: VC++ 4.2-flat, NT 4.0
You should upgrade to VC++ 4.2b or 5.0. 4.2-flat was only valid for beta
versions of some operating system components, and isn't guaranteed to be
correct anymore.
> I can't seem to find where the Popup Menu for the CEdit control
> is created.
It's done by the default window procedure. (There is no
CEdit::OnContextMenu, and CWnd::OnContextMenu just calls Default()).
> What I want to do is insert two more menu items into that popup menu.
I don't think you can do that exactly. What you can do is show a context
menu created completely by you. You can set the first few items in the
menu to the defaults (e.g. Undo/Cut/Copy/Paste/Delete/Select All) and
put your own menu items at the end.
To make your own menu and show it in the CEdit:
1) Derive a class from CEdit, and add a handler for WM_CONTEXTMENU
2) In the WM_CONTEXTMENU handler, load your menu, and call
TrackPopupMenu based on the point passed to you. There's an
example of writing this handler in the "Adding Windows 95
Functionality" section of the VC++ Tutorials.
3) In your dialog or FormView, subclass the edit control with an
instance of your own control. Online help for SubclassDlgItem
will get you started.
Katy
--
Katy Mulvey <mailto:ktm@ormec.com>
Software Development Engineer
ORMEC Systems
Kostya Sebov -- sebov@is.kiev.ua
Friday, April 04, 1997
I think, WM_INITMENUPOPUP handler might be a better idea because
what the original poster wants is to *extend* the default behavior
not to provide the alternative one.
Kostya Sebov.
----------------------------------------------------------------------------
Tel: +(38 044) 266-6387 /work/, +(38 044) 513-2591 /home/
mailto:sebov@is.kiev.ua
---------------------------------------------------------------------------
MCPS, Leading programmer
Intelligent Systems (Boston-Kiev)
voice/fax: +(38 044)266-6195
mailto:company@is.kiev.ua
http://www.i-rip.com
-----Original Message-----
From: David Little [SMTP:dlittle@equinoxcorp.com]
Sent: Thursday, April 03, 1997 17:18
To: 'mfc-l@netcom.com'
Subject: RE: How to get a handle to the CEdit Popup Menu
Add a handler to the WM_CONTEXTMENU message and do it there.....
----------
From: Mark Johnson[SMTP:MJohnson@ixc-comm.net]
Sent: Wednesday, April 02, 1997 8:21 AM
To: 'mfc-l@netcom.com'
Subject: How to get a handle to the CEdit Popup Menu
Environment: VC++ 4.2-flat, NT 4.0
I can't seem to find where the Popup Menu for the CEdit control
is created.
What I want to do is insert two more menu items into that popup menu.
Any suggestions, Mark.
Become an MFC-L member
| Вернуться в корень Архива
|