Re: [問題] MFC CEdit 增加 Click 事件
問題己解決了,有做到想要的功能,
不過不知道方法是否很正確,分享一下給大家。
方法主要就是要新增一個類別,
此類別要去繼承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
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
14
30