Re: [問題] MFC CEdit 增加 Click 事件

看板C_and_CPP (C/C++)作者 (fish)時間12年前 (2013/11/10 02:22), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串2/2 (看更多)
問題己解決了,有做到想要的功能, 不過不知道方法是否很正確,分享一下給大家。 方法主要就是要新增一個類別, 此類別要去繼承CEdit, 並增加 OnLButtonDown 方法。 當使用者用滑鼠按下視窗裡的 CEdit時, 會去執行 OnLButtonDown 實作的內容。 詳細程式碼如下: myEdit.h --- #pragma once class myEdit : public CEdit { DECLARE_DYNAMIC(myEdit) public: myEdit(); virtual ~myEdit(); protected: DECLARE_MESSAGE_MAP() public: afx_msg void OnLButtonDown(UINT nFlags, CPoint point); }; myEdit.cpp --- #include "stdafx.h" #include "myEdit.h" IMPLEMENT_DYNAMIC(myEdit, CEdit) myEdit::myEdit() { } myEdit::~myEdit() { } BEGIN_MESSAGE_MAP (myEdit, CEdit) ON_WM_LBUTTONDOWN() END_MESSAGE_MAP() void myEdit::OnLButtonDown(UINT nFlags, CPoint point) { this->SetWindowTextW(_T("Hello")); } CustomeCEditDlg.h --- public: myEdit m_Edit; CustomeCEditDlg.cpp --- void CCustomeCEditDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_EDIT1, m_Edit); } 謝謝 ※ 引述《fish1217 (fish)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : Visual C++ 2008 : 問題(Question): : << MFC CEdit control 增加 click 事件 >> : CEdit control 本身沒有 click 事件,要如何增加click事件? : 例如:滑鼠點到 CEdit, CEidt 會顯示 Hello, : 其他地方 CEdit 不會顯示 Hello. : 小的有嘗試在 OnLButtondown 事件中抓滑鼠的位置, : 判斷滑鼠的位置是否在 CEdit 的裡面, : 不過滑鼠移到 CEdit 上時, : 就無法抓到滑鼠的位置, : 請問是否有其他的什麼方法能解決這個問題。 : 麻煩及謝謝先進。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.91.7

11/10 12:36, , 1F
11/10 12:36, 1F

11/10 18:41, , 2F
跟問題敘述的不一樣?
11/10 18:41, 2F

11/12 01:13, , 3F
可能表達不太清楚~哈哈~
11/12 01:13, 3F
文章代碼(AID): #1IVdrrVO (C_and_CPP)
文章代碼(AID): #1IVdrrVO (C_and_CPP)