📄 timeofdatedlg.cpp
字号:
pBitmap = new CBitmap ;
if ( m_currentPick == 1 )
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_YEAR_RIGHT_B ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[1].TopLeft().x, m_rect[1].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
else
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_YEAR_RIGHT_W ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[1].TopLeft().x, m_rect[1].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
memDC.SelectObject ( pOldBitmap ) ;
//释放bitmap对象内存
delete pBitmap ;
//...............................................................
//分配bitmap对象内存
pBitmap = new CBitmap ;
if ( m_currentPick == 2 )
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_MONTH_LEFT_B ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[2].TopLeft().x, m_rect[2].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
else
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_MONTH_LEFT_W ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[2].TopLeft().x, m_rect[2].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
memDC.SelectObject ( pOldBitmap ) ;
//释放bitmap对象内存
delete pBitmap ;
//................................................................
//分配bitmap对象内存
pBitmap = new CBitmap ;
if ( m_currentPick == 3 )
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_MONTH_RIHGT_B ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[3].TopLeft().x, m_rect[3].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
else
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_MONTH_RIGHT_W ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[3].TopLeft().x, m_rect[3].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
memDC.SelectObject ( pOldBitmap ) ;
//释放bitmap对象内存
delete pBitmap ;
//................................................................
//分配bitmap对象内存
pBitmap = new CBitmap ;
if ( m_currentPick == 4 )
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_DAY_LEFT_B ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[4].TopLeft().x, m_rect[4].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
else
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_DAY_LEFT_W ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[4].TopLeft().x, m_rect[4].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
memDC.SelectObject ( pOldBitmap ) ;
//释放bitmap对象内存
delete pBitmap ;
//分配bitmap对象内存
pBitmap = new CBitmap ;
if ( m_currentPick == 5 )
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_DAY_RIGHT_B ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[5].TopLeft().x, m_rect[5].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
else
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_DAY_RIGHT_W ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[5].TopLeft().x, m_rect[5].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
memDC.SelectObject ( pOldBitmap ) ;
//释放bitmap对象内存
delete pBitmap ;
//分配bitmap对象内存
pBitmap = new CBitmap ;
if ( m_currentPick == 6 )
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_OK_B ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[6].TopLeft().x, m_rect[6].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
else
{
pBitmap ->LoadBitmap ( IDB_TIMEOFDATE_OK_W ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[6].TopLeft().x, m_rect[6].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
memDC.SelectObject ( pOldBitmap ) ;
//释放bitmap对象内存
delete pBitmap ;
//////////////////////
memDC.DeleteDC () ;
}
void CTimeOfDateDlg::SetToolRectangle()
{
m_rect [0].SetRect(71,48,104,80);
m_rect [1].SetRect(216,48,248,80);
m_rect [2].SetRect(71,107,104,140);
m_rect [3].SetRect(216,107,249,140);
m_rect [4].SetRect(71,167,104,200);
m_rect [5].SetRect(217,167,249,200);
m_rect [6].SetRect(276,198,310,232);
}
void CTimeOfDateDlg::OnBtnYearLeft()
{
year.Format(L" %04d",CStringToInt(year)-1);
InvalidateRect(CRect(119,55,199,71));
}
void CTimeOfDateDlg::OnBtnYearRight()
{
year.Format(L" %04d",CStringToInt(year)+1);
InvalidateRect(CRect(119,55,199,71));
}
void CTimeOfDateDlg::OnBtnMonthLeft()
{
if (CStringToInt(month) == 1)
{
return;
}
month.Format(L" %02d",CStringToInt(month)-1);
InvalidateRect(CRect(119,115,199,133));
}
void CTimeOfDateDlg::OnBtnMonthRight()
{
if (CStringToInt(month) == 12)
{
return;
}
month.Format(L" %02d",CStringToInt(month)+1);
InvalidateRect(CRect(119,115,199,133));
}
void CTimeOfDateDlg::OnBtnDayLeft()
{
if (CStringToInt(day) == 1)
{
return;
}
day.Format(L" %02d",CStringToInt(day)-1);
InvalidateRect(CRect(119,173,201,194));
}
void CTimeOfDateDlg::OnBtnDayRight()
{
if (CStringToInt(day) == 31)
{
return;
}
day.Format(L" %02d",CStringToInt(day)+1);
InvalidateRect(CRect(119,173,201,194));
}
int CTimeOfDateDlg::CStringToInt(CString m_string)
{
int n;
char *pBuffer = NULL;
pBuffer = new char[m_string.GetLength()+1];
ZeroMemory(pBuffer, m_string.GetLength()+1);
int iLen = m_string.GetLength();
for(int i = 0; i < iLen; i++)
pBuffer[i] = m_string[i];
pBuffer[i] ='\0';
n = atoi(pBuffer);
delete[] pBuffer;
return n;
}
void CTimeOfDateDlg::OnBtnOK()
{
BOOL isOK;
time1.wYear=CStringToInt(year);
time1.wMonth=CStringToInt(month);
time1.wDay=CStringToInt(day);
isOK=SetLocalTime(&time1);
::SendMessage(HWND_BROADCAST,DATETOTIME,0,0);
CDialog::OnOK();
}
LRESULT CTimeOfDateDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
return CDialog::WindowProc(message, wParam, lParam);
}
void CTimeOfDateDlg::OnOK()
{
// PROCESS_INFORMATION info;
switch (m_currentPick)
{
case 0:
OnBtnYearLeft();
break ;
case 1:
OnBtnYearRight();
break ;
case 2:
OnBtnMonthLeft();
break ;
case 3:
OnBtnMonthRight();
break ;
case 4:
OnBtnDayLeft();
break ;
case 5:
OnBtnDayRight();
break ;
case 6:
OnBtnOK();
break ;
default:
break ;
}
}
void CTimeOfDateDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
m_prePick=m_currentPick ;
if ( nChar == VK_UP || nChar == VK_LEFT )
{
switch (m_prePick)
{
case 0:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_B,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 0 ;
break ;
case 1:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_B,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 0 ;
break ;
case 2:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_B,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 1 ;
break ;
case 3:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_B,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 2 ;
break;
case 4:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIHGT_B,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 3 ;
break ;
case 5:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_B,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 4 ;
break;
case 6:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_B,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 5 ;
break;
}
}
if ( nChar == VK_DOWN || nChar == VK_RIGHT)
{
switch (m_prePick)
{
case 0:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_B,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 1 ;
break ;
case 1:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_B,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 2 ;
break ;
case 2:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIHGT_B,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 3 ;
break ;
case 3:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_B,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 4 ;
break;
case 4:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_B,5);
CopyBMP(IDB_TIMEOFDATE_OK_W,6);
m_currentPick = 5 ;
break ;
case 5:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_B,6);
m_currentPick = 6 ;
break;
case 6:
CopyBMP(IDB_TIMEOFDATE_YEAR_LEFT_W,0);
CopyBMP(IDB_TIMEOFDATE_YEAR_RIGHT_W,1);
CopyBMP(IDB_TIMEOFDATE_MONTH_LEFT_W,2);
CopyBMP(IDB_TIMEOFDATE_MONTH_RIGHT_W,3);
CopyBMP(IDB_TIMEOFDATE_DAY_LEFT_W,4);
CopyBMP(IDB_TIMEOFDATE_DAY_RIGHT_W,5);
CopyBMP(IDB_TIMEOFDATE_OK_B,6);
m_currentPick = 6 ;
break;
}
}
CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -