コンテキストメニューで MK_SHIFT , MK_CONTROL

 
 switch (message) {
      case WM_MOUSEMOVE :    Mouse.Move(Wnd,point) ;  return TRUE ; break ;
      case WM_RBUTTONUP :    return Context (msg) ;                 break ;
      case WM_CONTEXTMENU :  return Context (msg) ;                 break ;
      case WM_COMMAND :      return Command (msg) ;                 break ;
      default :                                                     break ;
      }
 
//  MK_SHIFT | MK_CONTROL が押されている場合は,WM_RBUTTONUP で処理している
BOOL ????????::Context (const MSG* msg)
{
      WPARAM nFlags = GetMouseFlags (msg) ;  
// キーフラグ
//    CPoint point  = GetClientPoint(msg) ;   // カーソル位置
      {
          UINT message = GetMessage(msg) ;    // メッセージ番号
          if (message == WM_RBUTTONUP) {
              if      (nFlags & MK_CONTROL)       { ; }
              else if (nFlags & MK_SHIFT)         { ; }
              else                                { return FALSE ; }
              }
          else { // WM_CONTEXTMENU の時は,キーの状態は無効
              nFlags = 0 ;
              }
          }
//    if (???????->PopupSelect(nFlags,point,TRUE))    { return TRUE ; }
//      …
 
この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • Categories:


コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください