1

谁能告诉我,如何为对话框上的静态文本添加右键单击事件处理程序。

所以我有一个模态对话框,上面有一个静态文本控件。当我尝试为其添加事件处理程序时,

我只有选择:

STN_CLICKED
STN_DBCLK
STN_ENABLE
STN_DISABLE
NM_THEMECHANGED.

右键单击没有消息。我需要处理右键单击事件。你能帮我知道,有没有办法添加右键单击事件处理程序?

4

1 回答 1

3

你能做的就是这个...

  1. 确保您的静态控件具有唯一 ID,例如:IDC_STATIC1. 它不能是 IDC_STATIC。

  2. 使用将控件与CStatic变量相关联ClassWizard

  3. 使用编辑器覆盖OnContextMenu对话框。

  4. 现在您可以执行以下操作:

    void CMFCApplication1Dlg::OnContextMenu(CWnd* pWnd, CPoint point)
    {
        CRect rect;
    
        m_staticLabel.GetWindowRect(&rect);
        if (rect.PtInRect(point))
        {
            // Show context menu
        }
    }
    
于 2016-06-23T13:24:03.507 回答