zoukankan      html  css  js  c++  java
  • wm_syscommand

    WM_SYSCOMMAND   Notification
    --------------------------------------------------------------------------------
    A   window   receives   this   message   when   the   user   chooses   a   command   from   the   Window   menu   (formerly   known   as   the   system   or   control   menu)   or   when   the   user   chooses   the   maximize   button,   minimize   button,   restore   button,   or   close   button.
    Syntax
    WM_SYSCOMMAND
            WPARAM   wParam
            LPARAM   lParam;
    Parameters
    wParam
    Specifies   the   type   of   system   command   requested.   This   parameter   can   be   one   of   the   following   values.  
    SC_CLOSE
    Closes   the   window.
    SC_CONTEXTHELP
    Changes   the   cursor   to   a   question   mark   with   a   pointer.   If   the   user   then   clicks   a   control   in   the   dialog   box,   the   control   receives   a   WM_HELP   message.
    SC_DEFAULT
    Selects   the   default   item;   the   user   double-clicked   the   window   menu.
    SC_HOTKEY
    Activates   the   window   associated   with   the   application-specified   hot   key.   The   lParam   parameter   identifies   the   window   to   activate.
    SC_HSCROLL
    Scrolls   horizontally.
    SC_KEYMENU
    Retrieves   the   window   menu   as   a   result   of   a   keystroke.   For   more   information,   see   the   Remarks   section.
    SC_MAXIMIZE
    Maximizes   the   window.
    SC_MINIMIZE
    Minimizes   the   window.
    SC_MONITORPOWER
    Sets   the   state   of   the   display.   This   command   supports   devices   that   have   power-saving   features,   such   as   a   battery-powered   personal   computer.  
    The   lParam   parameter   can   have   the   following   values:
    1   -   the   display   is   going   to   low   power
    2   -   the   display   is   being   shut   off
    SC_MOUSEMENU
    Retrieves   the   window   menu   as   a   result   of   a   mouse   click.
    SC_MOVE
    Moves   the   window.
    SC_NEXTWINDOW
    Moves   to   the   next   window.
    SC_PREVWINDOW
    Moves   to   the   previous   window.
    SC_RESTORE
    Restores   the   window   to   its   normal   position   and   size.
    SC_SCREENSAVE
    Executes   the   screen   saver   application   specified   in   the   [boot]   section   of   the   System.ini   file.
    SC_SIZE
    Sizes   the   window.
    SC_TASKLIST
    Activates   the   Start   menu.
    SC_VSCROLL
    Scrolls   vertically.
    lParam
    The   low-order   word   specifies   the   horizontal   position   of   the   cursor,   in   screen   coordinates,   if   a   window   menu   command   is   chosen   with   the   mouse.   Otherwise,   this   parameter   is   not   used.  
    The   high-order   word   specifies   the   vertical   position   of   the   cursor,   in   screen   coordinates,   if   a   window   menu   command   is   chosen   with   the   mouse.   This   parameter   is   –1   if   the   command   is   chosen   using   a   system   accelerator,   or   zero   if   using   a   mnemonic.  
    Return   Value
    An   application   should   return   zero   if   it   processes   this   message.
    Remarks
    To   obtain   the   position   coordinates   in   screen   coordinates,   use   the   following   code:  
    xPos   =   GET_X_LPARAM(lParam);         //   horizontal   position  
    yPos   =   GET_Y_LPARAM(lParam);         //   vertical   position
    The   DefWindowProc   function   carries   out   the   window   menu   request   for   the   predefined   actions   specified   in   the   previous   table.  
    In   WM_SYSCOMMAND   messages,   the   four   low-order   bits   of   the   wParam   parameter   are   used   internally   by   the   system.   To   obtain   the   correct   result   when   testing   the   value   of   wParam,   an   application   must   combine   the   value   0xFFF0   with   the   wParam   value   by   using   the   bitwise   AND   operator.  
    The   menu   items   in   a   window   menu   can   be   modified   by   using   the   GetSystemMenu,   AppendMenu,   InsertMenu,   ModifyMenu,   InsertMenuItem,   and   SetMenuItemInfo   functions.   Applications   that   modify   the   window   menu   must   process   WM_SYSCOMMAND   messages.
    An   application   can   carry   out   any   system   command   at   any   time   by   passing   a   WM_SYSCOMMAND   message   to   DefWindowProc.   Any   WM_SYSCOMMAND   messages   not   handled   by   the   application   must   be   passed   to   DefWindowProc.   Any   command   values   added   by   an   application   must   be   processed   by   the   application   and   cannot   be   passed   to   DefWindowProc.  
    Accelerator   keys   that   are   defined   to   choose   items   from   the   window   menu   are   translated   into   WM_SYSCOMMAND   messages;   all   other   accelerator   keystrokes   are   translated   into   WM_COMMAND   messages.  
    If   the   wParam   is   SC_KEYMENU,   lParam   contains   the   character   code   of   the   key   that   is   used   with   the   ALT   key   to   display   the   popup   menu.   For   example,   pressing   ALT+F   to   display   the   File   popup   will   cause   a   WM_SYSCOMMAND   with   wParam   equal   to   SC_KEYMENU   and   lParam   equal   to   'f '.

  • 相关阅读:
    LeetCode 461. Hamming Distance
    LeetCode 442. Find All Duplicates in an Array
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode Find the Difference
    LeetCode 415. Add Strings
    LeetCode 445. Add Two Numbers II
    LeetCode 438. Find All Anagrams in a String
    LeetCode 463. Island Perimeter
    LeetCode 362. Design Hit Counter
    LeetCode 359. Logger Rate Limiter
  • 原文地址:https://www.cnblogs.com/Mingxx/p/2079266.html
Copyright © 2011-2022 走看看