2016-06-23 29 views
0

誰でも私に、ダイアログボックスの静的テキストの右クリックイベントハンドラを追加する方法を教えてください。mfcダイアログの静的テキストの右クリックイベントハンドラを追加するには?

私は静的なテキストコントロールを持っているモーダルダイアログボックスを持っています。私は

、それのためのイベントハンドラを追加しようとしているとき、私は唯一のオプションがあります。

STN_CLICKED 
STN_DBCLK 
STN_ENABLE 
STN_DISABLE 
NM_THEMECHANGED. 

は、右クリックのためのメッセージがありません。右クリックイベントを処理する必要があります。右クリックイベントハンドラを追加する方法はありますか? IDC_STATIC1:あなたは何ができるか

+1

あなたがすることはできません。

  • 今、あなたのような何かを行うことができます。静的コントロールをサブクラス化し、代わりに独自の右ボタンダウンハンドラを追加することをお勧めします。 –

  • +1

    ダイアログ自体に右クリックを追加できません。 Cstatic境界にある点をテストしますか?もしそうなら、メニューを表示しますか? –

    答えて

    2

    1. があなたの静的なコントロールが固有のID、例えばあることを確認してください...これです。それはできません IDC_STATICすることができます。

    2. ClassWizardを使用して、コントロールをCStatic変数に関連付けます。

    3. エディタを使用してダイアログボックスにOnContextMenuを上書きします。

      void CMFCApplication1Dlg::OnContextMenu(CWnd* pWnd, CPoint point) 
      { 
          CRect rect; 
      
          m_staticLabel.GetWindowRect(&rect); 
          if (rect.PtInRect(point)) 
          { 
           // Show context menu 
          } 
      } 
      
    関連する問題