ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

monslctl.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 /* Control extended styles */
00004 #define MSLM_EX_ALLOWSELECTNONE 0x1
00005 #define MSLM_EX_ALLOWSELECTDISABLED 0x2
00006 #define MSLM_EX_HIDENUMBERONSINGLE  0x4
00007 #define MSLM_EX_HIDENUMBERS 0x8
00008 #define MSLM_EX_SELECTONRIGHTCLICK  0x10
00009 #define MSLM_EX_SELECTBYNUMKEY  0x20
00010 #define MSLM_EX_SELECTBYARROWKEY    0x40
00011 
00012 /* MONSL_MONINFO Flags */
00013 #define MSL_MIF_DISABLED    0x1
00014 
00015 typedef struct _MONSL_MONINFO
00016 {
00017     POINT Position;
00018     SIZE Size;
00019     DWORD Flags; /* MSL_MIF_* */
00020     LPARAM lParam;
00021 } MONSL_MONINFO, *PMONSL_MONINFO;
00022 
00023 typedef struct _MONSL_MONNMHDR
00024 {
00025     NMHDR hdr;
00026     INT Index;
00027     /* NOTE: MonitorInfo is only valid if Index >= 0 */
00028     MONSL_MONINFO MonitorInfo;
00029 } MONSL_MONNMHDR, *PMONSL_MONNMHDR;
00030 
00031 typedef struct _MONSL_MONNMBUTTONCLICKED
00032 {
00033     /* Used with MSLN_MONITORCHANGING */
00034     MONSL_MONNMHDR hdr;
00035     POINT pt;
00036 } MONSL_MONNMBUTTONCLICKED, *PMONSL_MONNMBUTTONCLICKED;
00037 
00038 typedef struct _MONSL_MONNMMONITORCHANGING
00039 {
00040     /* Used with MSLN_MONITORCHANGING */
00041     MONSL_MONNMHDR hdr;
00042     INT PreviousSelected;
00043     BOOL AllowChanging;
00044 } MONSL_MONNMMONITORCHANGING, *PMONSL_MONNMMONITORCHANGING;
00045 
00046 /*
00047  * MSLN_MONITORCHANGING
00048  *   This notification code is sent through WM_NOTIFY before another monitor
00049  *   can be selected. This notification is not sent in response to a
00050  *   MSLM_SETCURSEL message.
00051  *
00052  *   lParam: PMONSL_MONNMMONITORCHANGING
00053  *           Change AllowChanging to FALSE to prevent the new monitor to
00054  *           be selected.
00055  */
00056 #define MSLN_MONITORCHANGING    101
00057 
00058 /*
00059  * MSLN_MONITORCHANGED
00060  *   This notification code is sent through WM_NOTIFY after a new monitor
00061  *   was selected. This notification is not sent in response to a
00062  *   MSLM_SETCURSEL message.
00063  *
00064  *   lParam: PMONSL_MONNMHDR
00065  */
00066 #define MSLN_MONITORCHANGED 102
00067 
00068 /*
00069  * MSLN_RBUTTONUP
00070  *   This notification code is sent through WM_NOTIFY after the user did a
00071  *   right click on the control. If the control's extended style
00072  *   MSLM_EX_SELECTONRIGHTCLICK is set and the user clicked on a monitor,
00073  *   that monitor is selected and relevant notifications are sent before
00074  *   this notification is sent.
00075  *
00076  *   lParam: PMONSL_MONNMBUTTONCLICKED
00077  */
00078 #define MSLN_RBUTTONUP  103
00079 
00080 /*
00081  * MSLM_SETMONITORSINFO
00082  *   wParam: DWORD
00083  *           Count of MONSL_MONINFO structures provided as lParam.
00084  *   lParam: PMONSL_MONINFO
00085  *           Array of wParam MONSL_MONINFO structures.
00086  *
00087  *   Returns non-zero value if successful.
00088  */
00089 #define MSLM_SETMONITORSINFO (WM_USER + 0x10)
00090 
00091 /*
00092  * MSLM_GETMONITORSINFO
00093  *   wParam: DWORD
00094  *           Length of MONSL_MONINFO array buffer provided in lParam.
00095  *   lParam: PMONSL_MONINFO
00096  *           Array of wParam MONSL_MONINFO structures
00097  *
00098  *   Returns number of structures copied.
00099  */
00100 #define MSLM_GETMONITORSINFO (WM_USER + 0x11)
00101 
00102 /*
00103  * MSLM_GETMONITORINFOCOUNT
00104  *   wParam: Ignored.
00105  *   lParam: Ignored.
00106  *
00107  *   Returns number of monitors.
00108  */
00109 #define MSLM_GETMONITORINFOCOUNT    (WM_USER + 0x12)
00110 
00111 /*
00112  * MSLM_HITTEST
00113  *   wParam: PPOINT
00114  *           Pointer to a POINT structure specifying the coordinates
00115  *           relative to the client area of the control.
00116  *   lParam: Ignored.
00117  *
00118  *   Returns the index of the monitor at this point, or -1.
00119  */
00120 #define MSLM_HITTEST    (WM_USER + 0x13)
00121 
00122 /*
00123  * MSLM_SETCURSEL
00124  *   wParam: INT
00125  *           Selects the monitor with this index. Pass -1 to clear the selection.
00126  *   lParam: Ignored.
00127  *
00128  *   Returns a non-zero value if successful.
00129  */
00130 #define MSLM_SETCURSEL  (WM_USER + 0x14)
00131 
00132 /*
00133  * MSLM_GETCURSEL
00134  *   wParam: Ignored.
00135  *   lParam: Ignored.
00136  *
00137  *   Returns the index of the selected monitor, or -1 if none is currently selected.
00138  */
00139 #define MSLM_GETCURSEL  (WM_USER + 0x15)
00140 
00141 /*
00142  * MSLM_SETMONITORINFO
00143  *   wParam: INT
00144  *           Index of the monitor information that is queried.
00145  *   lParam: PMONSL_MONINFO
00146  *           Pointer to a MONSL_MONINFO structures.
00147  *
00148  *   Returns non-zero value if successful.
00149  */
00150 #define MSLM_SETMONITORINFO (WM_USER + 0x16)
00151 
00152 /*
00153  * MSLM_GETMONITORINFO
00154  *   wParam: INT
00155  *           Index of the monitor information to be changed.
00156  *   lParam: PMONSL_MONINFO
00157  *           Pointer to a MONSL_MONINFO structures.
00158  *
00159  *   Returns non-zero value if successful.
00160  */
00161 #define MSLM_GETMONITORINFO (WM_USER + 0x17)
00162 
00163 /*
00164  * MSLM_SETEXSTYLE
00165  *   wParam: Ignored.
00166  *   lParam: DWORD
00167  *           Can be a combination of the following flags:
00168  *             * MSLM_EX_ALLOWSELECTNONE
00169  *                 Allow deselecting a monitor by clicking into
00170  *                 unused areas of the control.
00171  *             * MSLM_EX_ALLOWSELECTDISABLED
00172  *                 Allow selecting disabled monitors.
00173  *             * MSLM_EX_HIDENUMBERONSINGLE
00174  *                 Hides the monitor number if the control only
00175  *                 displays one monitor.
00176  *             * MSLM_EX_HIDENUMBERS
00177  *                 Does not show monitor numbers.
00178  *             * MSLM_EX_SELECTONRIGHTCLICK
00179  *                 Selects a monitor when the user right clicks
00180  *                 on it.
00181  *             * MSLM_EX_SELECTBYNUMKEY
00182  *                 Allows selecting a monitor by using the keys
00183  *                 '1' to '9'.
00184  *             * MSLM_EX_SELECTBYARROWKEY
00185  *                 Allows selecting a monitor using the arrow keys.
00186  *
00187  *   Returns non-zero value if successful.
00188  */
00189 #define MSLM_SETEXSTYLE (WM_USER + 0x18)
00190 
00191 /*
00192  * MSLM_GETEXSTYLE
00193  *   wParam: Ignored.
00194  *   lParam: Ignored
00195  *
00196  *   Returns the control's extended style flags.
00197  */
00198 #define MSLM_GETEXSTYLE (WM_USER + 0x19)
00199 
00200 /*
00201  * MSLM_GETMONITORRECT
00202  *   wParam: INT
00203  *           Index of the monitor whose display rectangle is queried.
00204  *   lParam: PRECT
00205  *           Pointer to a RECT structure that receives the rectangle
00206  *           in coordinates relative to the control's client area.
00207  *
00208  *   Returns a positive value if the rectangle is visible.
00209  *   Returns zero if the rectangle is invisible.
00210  *   Returns a negative value if the index is not valid.
00211  */
00212 #define MSLM_GETMONITORRECT (WM_USER + 0x20)
00213 
00214 BOOL RegisterMonitorSelectionControl(IN HINSTANCE hInstance);
00215 VOID UnregisterMonitorSelectionControl(IN HINSTANCE hInstance);

Generated on Fri May 25 2012 04:19:03 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.