IFACEMETHOD(MoveSizeEnter)(_In_ HWND window, _In_ HMONITOR monitor, POINT ptScreen) = 0 Called by the event hook in response to EVENT_SYSTEM_MOVESIZESTART Returns true if we are currently detecting a movesize loop IFACEMETHOD_(void, ShowZoneEditorForMonitor)(_In_ HMONITOR monitor) = 0 Shows a single ZoneWindow in editor mode on the provided monitor IFACEMETHOD_(void, ToggleZoneViewers)() = 0 Toggles the visibility of all ZoneWindows Used in WinMain to initialize FancyZones and enter the message loop IFACEMETHOD_(Settings, GetSettings)() = 0 Returns the global Settings object used to look up individual settings throughout the product IFACEMETHOD_(HINSTANCE, GetHInstance)() = 0 Returns the global HINSTANCE for the process When it receives a WM_DISPLAYCHANGE, it updates the available ZoneWindows to reflect the state of the system (eg add a new ZoneWindow for newly connected monitor, delete ZoneWindow for disconnected monitor, etc) Interface Display ChangesÄuring initial standup, FancyZones creates a ZoneWindow for each connected monitor. The hook also allows using 0-9 to change the active ZoneSet during a drag operation. This hook allows FancyZones to use Win+Left/Right arrow to move windows between Zones. Traditionally, Win+Left/Right arrow will move a window between Windows Snap regions. Keyboard HookĪ low-level keyboard hook is installed in order to, optionally, intercept Window+Arrow hotkeys. For each of these three events, it forwards on to the ZoneWindow associated with the monitor that the window being dragged is currently on. It listens for EVENT_SYSTEM_MOVESIZESTART, EVENT_SYSTEM_MOVESIZEEND, and EVENT_OBJECT_LOCATIONCHANGE. The main driving force behind FancyZones is the accessibility hook used to know when a window enters the move/size loop. A ZoneSet is composed of one or more Zones which are the locations where windows can be easily positioned. For every connected display, it creates a ZoneWindow which is used to display the active ZoneSet per monitor for use when editing the layout or displaying the drop targets. It uses hooks to monitor for windows entering and exiting the move/size loop and to listen for key presses for hotkey interception. FancyZones is the base class that runs the show.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |