SPIN CONTROL 貌似在WINCE 7 下不能拖动放大与缩小,导致一些使用的不便。
所以就用普通的按钮见单模拟SPIN 的一直按下时数字自动增加的功能。
写在这里避免自己忘了到处找
首先重载PreTranslateMessage(MSG* pMsg)函数
然后简单粗暴吧
if (pMsg->message == WM_LBUTTONDOWN || pMsg->message == WM_LBUTTONUP)
{
<span style="white-space:pre"> </span>CPoint point;
<span style="white-space:pre"> </span>GetCursorPos(&point);
<span style="white-space:pre"> </span>CRect rect;
<span style="white-space:pre"> </span>GetDlgItem(IDC_XXX)->GetWindowRect(&rect);
<span style="white-space:pre"> </span>if (rect.PtInRect(point))
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>if(pMsg->message == WM_LBUTTONDOWN)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>SetTimer(1, 200, NULL);
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>else if (pMsg->message == WM_LBUTTONUP)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>KillTimer(1);
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
}
OnTimer里
if (m_PlusWdith == 0)
{
m_PlusWdith = 0;
}
else
{
m_PlusWdith--;
}
m_Plus.Format(_T("%u"), m_PlusWdith);
UpdateData(FALSE);
暂时先这么多