根据WTL更改Datepicker单元的大小

时间:2018-11-28 09:27:53

标签: datepicker atl wtl

我正在研究一个名为CDatePicker的日期选择器,它实现为

class CDatePicker : public CWindowImpl<CDatePicker, WTL::CMonthCalendarCtrl >

我想更改日期矩形,下一个按钮,上一个按钮等的大小。我发现矩形的大小是从这样的调用中获得的

SendMessage(m_CalCtrl.m_hWnd, MCM_GETCALENDARGRIDINFO, 0, (LPARAM) &gridInf)

但这会为我获取大小,因此,当我更改自定义绘画的rect大小时,控件不会更新,并且鼠标点击不会映射到正确的单元格。

我想知道如何更改大小。

我已经检查了MCM_GETCALENDARGRIDINFOMCM_HITTEST的msdn页面,并如下实现。

OnPaint()
{
    // Init gridInfo
    SendMessage(MCM_GETCALENDARINFO, ....., &gridInfo);
    CRect rc = gridInfo.rc;

    ChangeRCSize(&rc);
    DrawStuff(rc, strCustomString);

    // Other stuff
}

这是我尝试过的方法,但这并未更新控件,因此鼠标击中的信号并未达到应有的水平。

根据我的调查,日间单元格的大小似乎更多地基于库,而我们无法控制它。

0 个答案:

没有答案