我有这段代码:
HWND hwndDP = CreateWindowEx(0,
DATETIMEPICK_CLASS,
TEXT("DateTime"),
WS_BORDER | WS_CHILD | WS_VISIBLE,
20, 50, 400, 60,
hDlg,
NULL,
NULL,
NULL);
HFONT hFont = CreateFont(40, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, L"Arial");
SendMessage(hwndDP, WM_SETFONT, WPARAM(hFont), TRUE);
创建日期时间选择器,如下图所示。如您所见,我更改了字体的大小,因此日期时间选择器的字体更大。我有问题,圈出的按钮(下一个/上个月)不会改变尺寸而且很小。是否可以更改此按钮的大小。我需要它,因为我在触摸显示器上使用这个日期时间选择器,很难点击这两个按钮。
答案 0 :(得分:1)
不幸的是,我无法轻易改变这一点。这些控件实际上并不是真正的按钮 - 它们只是在窗口上绘制,而日历控件的大小基于NONCLIENTMETRICS.iScrollHeight
的值 - 它不会让你改变它们。
改变这种情况的唯一方法是全局,这会影响系统中的所有滚动条,可能不是你想要做的事情。
我有一个想法就是对控件进行子类化,将你自己的(真实)按钮控件放在现有控件的顶部。
然后,当您的子类程序收到WM_COMMAND
消息说明他们已被点击时,请向日历控件发送WM_KEYDOWN
消息VK_NEXT
或{{1这些键会导致它向任一方向滚动一个月。