// 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); }
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); }
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); }
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); }