@@ -49,6 +49,23 @@ namespace
4949 }
5050};
5151
52+ class CRadScintillaCtrl : public Scintilla ::CScintillaCtrl
53+ {
54+ protected:
55+ DECLARE_MESSAGE_MAP ()
56+
57+ void OnMButtonUp (UINT /* nFlags */ , CPoint /* point*/ )
58+ {
59+ if (GetSelectionEmpty ())
60+ Paste ();
61+ else
62+ Copy ();
63+ }
64+ };
65+
66+ BEGIN_MESSAGE_MAP (CRadScintillaCtrl, CScintillaCtrl)
67+ ON_WM_MBUTTONUP()
68+ END_MESSAGE_MAP()
5269
5370// CRadNotepadView
5471
@@ -58,7 +75,6 @@ BEGIN_MESSAGE_MAP(CRadNotepadView, CScintillaView)
5875 // Standard printing commands
5976 ON_WM_CREATE()
6077 ON_WM_CONTEXTMENU()
61- ON_WM_RBUTTONUP()
6278 ON_UPDATE_COMMAND_UI(ID_INDICATOR_LINE, &CRadNotepadView::OnUpdateLine)
6379 ON_UPDATE_COMMAND_UI(ID_INDICATOR_SCHEME, &CRadNotepadView::OnUpdateSchemeIndicator)
6480 ON_UPDATE_COMMAND_UI(ID_INDICATOR_LINE_ENDING, &CRadNotepadView::OnUpdateLineEndingIndicator)
@@ -209,12 +225,6 @@ void CRadNotepadView::OnFilePrintPreview()
209225#endif
210226}
211227
212- void CRadNotepadView::OnRButtonUp (UINT /* nFlags */ , CPoint point)
213- {
214- ClientToScreen (&point);
215- OnContextMenu (this , point);
216- }
217-
218228void CRadNotepadView::OnContextMenu (CWnd* /* pWnd */ , CPoint point)
219229{
220230#ifndef SHARED_HANDLERS
@@ -400,6 +410,11 @@ void CRadNotepadView::OnInitialUpdate()
400410#endif
401411}
402412
413+ std::unique_ptr<Scintilla::CScintillaCtrl> CRadNotepadView::CreateScintillaControl ()
414+ {
415+ return std::make_unique<CRadScintillaCtrl>();
416+ }
417+
403418void CRadNotepadView::OnViewMargin (UINT nID)
404419{
405420 Theme* pTheme = &theApp.m_Settings .user ;
0 commit comments