C++MFC编辑框处理双击
C++ MFC EditBox Handling Double Click
我遇到的场景如下:
- 我有一个包含两个 EditBox 控件的 CDialog 类,假设它是IDC_EB1和IDC_EB2。
- 我希望能够在IDC_EB1和IDC_EB2上收听双击事件,以打开FileDialog并在IDC_EB1和IDC_EB1上显示选定的文件位置。
- IDC_EB1和IDC_EB2通过DDX控制机制执行并存储到各自的成员变量中。
- 成员变量类型为 CMyEdit(派生自 CEdit(,以便处理双击事件。
对话框运行,当我双击IDC_EB1或IDC_EB2进行浏览时,我能够打开文件对话框。问题出在CMyEdit中,我不再知道哪个EditBox触发了双击事件以显示从FileDialog中选择的文件路径。
解决此问题的好方法是什么?我正在运行Visual Studio 2010 SP1。
PS:有 MfcEditBrowse 控件可以很好地解决上面的问题,但它不符合我的需求,因为计划是在我的程序的各个阶段重用这个 CDialog 窗口,显然你不能在具有 MfcEditBrowse 控件的对话框中多次调用 DoModal。 MfcEditBrowse 控件 i n该对话框将抛出断言失败(已知问题显然是根据我在Microsoft文档中发现的(。
我不再知道哪个 EditBox 触发了双击事件以显示从 FileDialog 中选择的文件路径。
您可以使用 CWnd::ChildWindowFromPoint(point(,它将返回 OnLButtonDblClk(( 主体中单击的子控件。
- 您知道双击处理程序中的 ID。只需从消息处理程序调用 GetDlgCtrlID。
- 您可以轻松地将一些数据添加到CMyEdit,以便轻松识别双击操作的控件
- 双击 CMyEdit 时,您可以将WM_COMMAND消息发送到父级,父级处理其余部分。父级通过控件的 ID 知道控件,并且应该知道该怎么做。
相关文章:
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- C++,Qt:仅在双击后编辑qtablewidget项目
- 双击更改 mfc 中列表控件中的行的颜色
- C++MFC编辑框处理双击
- 双击滑块手柄时如何发出信号
- C/C++ 检测双击 TVItem 的常用控件
- 在使用 c++ 的 win32 api 中,我想跟踪双击和三次单击等
- 在树状视图中双击后焦点丢失
- MFC功能区主页按钮双击关闭应用程序
- QGraphicsScene 中的 QPushButton 需要双击而不是单击
- 处理WM_POINTER消息时,如何检测双击/点击
- 如何在 android 中将C++回调作为按钮的点击处理程序传递
- 如何添加C++/WinRT按钮单击处理程序
- 双击编译C++ Unix 可执行文件不会打开现有文件以从中读取信息
- QListWidget 项目单击和项目双击 - 如果双击,则阻止单击
- 可执行文件无法在双击执行时创建新文件
- 如何在mfc中处理单击和双击同一按钮
- 如何通过双击处理文件打开,同时拒绝多个实例
- Qt, QSplitter.处理鼠标在拆分器下时的双击
- Qt.如何处理双击事件