Difference between revisions of "Techwiki:Win32k/POPUPMENU"

From ReactOS Wiki
Jump to: navigation, search
 
Line 49: Line 49:
 
  } MENUWND, *PMENUWND;
 
  } MENUWND, *PMENUWND;
 
   
 
   
 +
typedef struct tagMENUSTATE
 +
{
 +
  PPOPUPMENU  pGlobalPopupMenu;
 +
  ULONG      fMenuStarted:1;
 +
  ULONG      fIsSysMenu:1;
 +
  ULONG      fInsideMenuLoop:1;
 +
  ULONG      fButtonDown:1;
 +
  ULONG      fInEndMenu:1;
 +
  ULONG      fUnderline:1;
 +
  ULONG      fButtonAlwaysDown:1;
 +
  ULONG      fDragging:1;
 +
  ULONG      fModelessMenu:1;
 +
  ULONG      fInCallHandleMenuMessages:1;
 +
  ULONG      fDragAndDrop:1;
 +
  ULONG      fAutoDismiss:1;
 +
  ULONG      fAboutToAutoDismiss:1;
 +
  ULONG      fIgnoreButtonUp:1;
 +
  ULONG      fMouseOffMenu:1;
 +
  ULONG      fInDoDragDrop:1;
 +
  ULONG      fActiveNoForeground:1;
 +
  ULONG      fNotifyByPos:1;
 +
  ULONG      fSetCapture:1;
 +
  ULONG      iAniDropDir:5;
 +
  POINT      ptMouseLast;
 +
  INT        mnFocus;
 +
  INT        cmdLast;
 +
  PTHREADINFO ptiMenuStateOwner;
 +
  DWORD      dwLockCount;
 +
  struct tagMENUSTATE* pmnsPrev;
 +
  POINT      ptButtonDown;
 +
  ULONG_PTR  uButtonDownHitArea;
 +
  UINT        uButtonDownIndex;
 +
  INT        vkButtonDown;
 +
  ULONG_PTR  uDraggingHitArea;
 +
  UINT        uDraggingIndex;
 +
  UINT        uDraggingFlags;
 +
  HDC        hdcWndAni;
 +
  DWORD      dwAniStartTime;
 +
  INT        ixAni;
 +
  INT        iyAni;
 +
  INT        cxAni;
 +
  INT        cyAni;
 +
  HBITMAP    hbmAni;
 +
  HDC        hdcAni; // !dso is MENUANIDC
 +
} MENUSTATE, *PMENUSTATE;
 +
 
===References===
 
===References===
 
* Windows Symbol files, userkdx.dll, !dso, W7U
 
* Windows Symbol files, userkdx.dll, !dso, W7U

Latest revision as of 02:56, 12 March 2010

Windows version of POPUPMENU

typedef struct tagPOPUPMENU
{
 ULONG  fIsMenuBar:1;
 ULONG  fHasMenuBar:1;
 ULONG  fIsSysMenu:1;
 ULONG  fIsTrackPopup:1;
 ULONG  fDroppedLeft:1;
 ULONG  fHierarchyDropped:1;
 ULONG  fRightButton:1;
 ULONG  fToggle:1;
 ULONG  fSynchronous:1;
 ULONG  fFirstClick:1;
 ULONG  fDropNextPopup:1;
 ULONG  fNoNotify:1;
 ULONG  fAboutToHide:1;
 ULONG  fShowTimer:1;
 ULONG  fHideTimer:1;
 ULONG  fDestroyed:1;
 ULONG  fDelayedFree:1;
 ULONG  fFlushDelayedFree:1;
 ULONG  fFreed:1;
 ULONG  fInCancel:1;
 ULONG  fTrackMouseEvent:1;
 ULONG  fSendUninit:1;
 ULONG  fRtoL:1;
//  ULONG  fDesktopMenu:1; // !dso
 ULONG  iDropDir:5;
 ULONG  fUseMonitorRect:1; // w7u
 PWND   spwndNotify;
 PWND   spwndPopupMenu;
 PWND   spwndNextPopup;
 PWND   spwndPrevPopup;
 PMENU  spmenu;
 PMENU  spmenuAlternate;
 PWND   spwndActivePopup; 
 struct tagPOPUPMENU ppopupmenuRoot;
 struct tagPOPUPMENU ppmDelayedFree;
 UINT   posSelectedItem;
 UINT   posDropped;
} POPUPMENU, *PPOPUPMENU;

// Window Extra data container.
typedef struct _MENUWND
{
   WND wnd;
   PPOPUPMENU ppopupmenu;
} MENUWND, *PMENUWND;

typedef struct tagMENUSTATE
{
 PPOPUPMENU  pGlobalPopupMenu;
 ULONG       fMenuStarted:1;
 ULONG       fIsSysMenu:1;
 ULONG       fInsideMenuLoop:1;
 ULONG       fButtonDown:1;
 ULONG       fInEndMenu:1;
 ULONG       fUnderline:1;
 ULONG       fButtonAlwaysDown:1;
 ULONG       fDragging:1;
 ULONG       fModelessMenu:1;
 ULONG       fInCallHandleMenuMessages:1;
 ULONG       fDragAndDrop:1;
 ULONG       fAutoDismiss:1;
 ULONG       fAboutToAutoDismiss:1;
 ULONG       fIgnoreButtonUp:1;
 ULONG       fMouseOffMenu:1;
 ULONG       fInDoDragDrop:1;
 ULONG       fActiveNoForeground:1;
 ULONG       fNotifyByPos:1;
 ULONG       fSetCapture:1;
 ULONG       iAniDropDir:5;
 POINT       ptMouseLast; 
 INT         mnFocus;
 INT         cmdLast;
 PTHREADINFO ptiMenuStateOwner;
 DWORD       dwLockCount;
 struct tagMENUSTATE* pmnsPrev;
 POINT       ptButtonDown;
 ULONG_PTR   uButtonDownHitArea;
 UINT        uButtonDownIndex;
 INT         vkButtonDown;
 ULONG_PTR   uDraggingHitArea;
 UINT        uDraggingIndex;
 UINT        uDraggingFlags;
 HDC         hdcWndAni;
 DWORD       dwAniStartTime;
 INT         ixAni;
 INT         iyAni;
 INT         cxAni;
 INT         cyAni;
 HBITMAP     hbmAni;
 HDC         hdcAni; // !dso is MENUANIDC
} MENUSTATE, *PMENUSTATE;

References

  • Windows Symbol files, userkdx.dll, !dso, W7U