ON_WM_KILLFOCUS()
ON_WM_LBUTTONDOWN()
ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
+ ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
+ ON_COMMAND(ID_EDIT_CUT, OnEditCut)
+ ON_COMMAND(ID_EDIT_UNDO, OnEditUndo)
+ ON_COMMAND(ID_EDIT_SELECT_ALL, OnEditSelectAll)
ON_COMMAND_RANGE(ID_EDITOR_COPY_PATH, ID_EDITOR_SELECT_FILE, OnContextMenuSelected)
END_MESSAGE_MAP()
/**
* @brief Format the context menu.
*/
-void CFilepathEdit::OnContextMenu(CWnd*, CPoint point)
+void CFilepathEdit::OnContextMenu(CWnd* pWnd, CPoint point)
{
+ if (m_bInEditing)
+ {
+ __super::OnContextMenu(pWnd, point);
+ }
+ else
{
if (!m_bActive)
SetFocus();
SetSel(nStartChar, nEndChar);
}
+void CFilepathEdit::OnEditPaste()
+{
+ Paste();
+}
+
+void CFilepathEdit::OnEditCut()
+{
+ Cut();
+}
+
+void CFilepathEdit::OnEditUndo()
+{
+ Undo();
+}
+
+void CFilepathEdit::OnEditSelectAll()
+{
+ SetSel(0, -1);
+}
+
void CFilepathEdit::OnContextMenuSelected(UINT nID)
{
// compute the beginning of the text to copy (in OriginalText)
afx_msg void OnKillFocus(CWnd* pNewWnd);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnEditCopy();
+ afx_msg void OnEditPaste();
+ afx_msg void OnEditCut();
+ afx_msg void OnEditUndo();
+ afx_msg void OnEditSelectAll();
afx_msg void OnContextMenuSelected(UINT nID);
HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
DECLARE_MESSAGE_MAP();