【问题标题】:Increase Font Size of DateTimePicker Calender in Win7 Aero ThemeWin7 Aero 主题中增加 DateTimePicker 日历的字体大小
【发布时间】:2013-04-16 07:42:12
【问题描述】:

我想在 Win7 中更改日历控件的字体大小以使其与触摸屏兼容。我机器的主题是 Aero。 CalendarFont 属性对 Aero 主题没有任何影响。

所以我重写了 OnDropDown 方法来禁用日历控件的主题。现在字体已经改变,但日历窗口大小没有改变。下图是我看到的窗口

代码如下。我应该怎么做才能增加日历窗口的大小?

 protected override void OnDropDown(EventArgs e)
    {

        IntPtr pointerToCalenderWindow = SendMessage(Handle, DtmGetmonthcal,0,0);
        // Disble Theme
        SetWindowTheme(pointerToCalenderWindow, "", "");      

        var rect = new Rectangle();
        SendMessage(pointerToCalenderWindow, McmGetminreqrect, 0, ref rect);     

        MoveWindow(pointerToCalenderWindow,0,0,rect.Right + 2, rect.Bottom + 2, true);

        base.OnDropDown(e);
    }


private const int McmFirst = 0x1000;
    private const int McmGetminreqrect = (McmFirst + 9);
    private const int McsWeeknumbers = 0x4;
    private const int DtmFirst = 0x1000;
    private const int DtmGetmonthcal = (DtmFirst + 8);

    private const int WMPAINT = 0x000F;


    [DllImport("uxtheme.dll")]
    private static extern int SetWindowTheme(IntPtr hWnd, string appname, string idlist);


    [DllImport("User32.dll")]
    private static extern IntPtr SendMessage(IntPtr h,
                                             int msg,
                                             int param,
                                             int data);

    [DllImport("User32.dll")]
    private static extern int MoveWindow(IntPtr h,
                                         int x,
                                         int y,
                                         int width,
                                         int height,
                                         bool repaint);

【问题讨论】:

    标签: c# .net windows


    【解决方案1】:

    看来this question和你的问题差不多:

    答案表明实际上有两个窗口用于日历部分(一个“内部”和一个“外部”),并且您需要正确设置外部窗口的大小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 2015-02-01
      相关资源
      最近更新 更多