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

投稿日 by Iwao
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技術ブログへ

  • カテゴリー:


コメントを残す

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