Detecting drag-and-drop in CRichEditCtrl
Michael Iles -- michaeli@dra.com Friday, September 13, 1996 Environment: NT 4.0, VC++ 4.2a beta Hi, I'm doing syntax colouring in a CRichEditCtrl and have everything working fine, except that I can't figure out how to be notified when the user drags-and-drops text within the control. The drag-and-drop functionality is provided with the rich edit control, and I've tried handling EN_CHANGE, EN_UPDATE, WM_LBUTTONUP, etc. to no avail. Can anyone tell me how I can be notified that the user has dragged-and-dropped text so I can update the syntax colouring in my control? Thanks, Mike Iles michaeli@dra.com
Ed Ball -- ed@logos.com Tuesday, September 17, 1996 To detect drag-drops in a rich edit control, you must use the CRichEditCtrl::SetOLECallback function. The CRichEditView class is a good example on how to do this. You must put an "Interface Map" in your class definition, just like the one in afxrich.h, and then provide definitions for those member functions, as in viewrich.cpp. Just return E_NOTIMPL for all of the callback functions that you don't use (assuming you aren't implementing object linking and embedding, that'll be most of them). The callbacks that will be called during a drag/drop operation are GetDragDropEffect, QueryAcceptData, and GetClipboardData. Incidentally, this is also the best way to implement a context menu -- provide one in the GetContextMenu callback. - Ed >
| Вернуться в корень Архива |