Esempio n. 1
0
            // Use to retrieve MCGIF_NAME only.
            private bool GetCalendarGridInfoText(ref ComCtl32.MCGRIDINFO gridInfo)
            {
                Debug.Assert(
                    gridInfo.dwFlags == 0,
                    "gridInfo.dwFlags should be 0 when calling GetCalendarGridInfoText");

                gridInfo.dwFlags = ComCtl32.MCGIF.NAME;

                return(_owner.SendMessage((int)ComCtl32.MCM.GETCALENDARGRIDINFO, 0, ref gridInfo) != IntPtr.Zero);
            }
Esempio n. 2
0
            private bool GetCalendarGridInfo(ref ComCtl32.MCGRIDINFO gridInfo)
            {
                // Do not use this if gridInfo.dwFlags contains MCGIF_NAME;
                // use GetCalendarGridInfoText() instead.
                Debug.Assert(
                    (gridInfo.dwFlags & ComCtl32.MCGIF.NAME) == 0,
                    "Param dwFlags contains MCGIF_NAME, use GetCalendarGridInfoText() to retrieve the text of a calendar part.");

                gridInfo.dwFlags &= ~ComCtl32.MCGIF.NAME;

                return(_owner.SendMessage((int)ComCtl32.MCM.GETCALENDARGRIDINFO, 0, ref gridInfo) != IntPtr.Zero);
            }
Esempio n. 3
0
            private bool GetCalendarGridInfoText(ComCtl32.MCGIP dwPart, int calendarIndex, int row, int column, out string text)
            {
                const int nameLength = 128;

                ComCtl32.MCGRIDINFO gridInfo = new ComCtl32.MCGRIDINFO();
                gridInfo.cbSize    = (uint)Marshal.SizeOf(gridInfo);
                gridInfo.dwPart    = dwPart;
                gridInfo.iCalendar = calendarIndex;
                gridInfo.iCol      = column;
                gridInfo.iRow      = row;
                gridInfo.pszName   = new string('\0', nameLength + 2);
                gridInfo.cchName   = (uint)gridInfo.pszName.Length - 1;

                bool result = GetCalendarGridInfoText(ref gridInfo);

                text = gridInfo.pszName;

                return(result);
            }
Esempio n. 4
0
            private bool GetCalendarGridInfo(
                ComCtl32.MCGIF dwFlags,
                ComCtl32.MCGIP dwPart,
                int calendarIndex,
                int row,
                int column,
                out RECT rectangle,
                out Kernel32.SYSTEMTIME endDate,
                out Kernel32.SYSTEMTIME startDate)
            {
                Debug.Assert(
                    (dwFlags & ~(ComCtl32.MCGIF.DATE | ComCtl32.MCGIF.RECT)) == 0,
                    "GetCalendarGridInfo() should be used only to obtain Date and Rect,"
                    + "dwFlags has flag bits other that MCGIF_DATE and MCGIF_RECT");

                ComCtl32.MCGRIDINFO gridInfo = new ComCtl32.MCGRIDINFO();
                gridInfo.dwFlags   = dwFlags;
                gridInfo.cbSize    = (uint)Marshal.SizeOf(gridInfo);
                gridInfo.dwPart    = dwPart;
                gridInfo.iCalendar = calendarIndex;
                gridInfo.iCol      = column;
                gridInfo.iRow      = row;
                bool result;

                try
                {
                    result    = GetCalendarGridInfo(ref gridInfo);
                    rectangle = gridInfo.rc;
                    endDate   = gridInfo.stEnd;
                    startDate = gridInfo.stStart;
                }
                catch
                {
                    rectangle = new RECT();
                    endDate   = new Kernel32.SYSTEMTIME();
                    startDate = new Kernel32.SYSTEMTIME();
                    result    = false;
                }

                return(result);
            }