📄 timeoftimedlg.cpp
字号:
//释放bitmap对象内存
delete pBitmap ;
//.............................................................
//分配bitmap对象内存
pBitmap = new CBitmap ;
if ( m_currentPick == 1 )
{
pBitmap ->LoadBitmap ( IDB_TIMEOFTIME_1_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_TIMEOFTIME_1_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_TIMEOFTIME_2_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_TIMEOFTIME_2_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_TIMEOFTIME_2_RIGHT_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_TIMEOFTIME_2_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_TIMEOFTIME_3_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_TIMEOFTIME_3_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_TIMEOFTIME_3_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_TIMEOFTIME_3_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_TIMEOFTIME_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_TIMEOFTIME_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 CTimeOfTimeDlg::SetToolRectangle()
{
m_rect [0].SetRect(71,48,104,80);
m_rect [1].SetRect(216,48,249,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 CTimeOfTimeDlg::OnBtnHourLeft()
{
if (CStringToInt(hour) != 1)
{
hour.Format(L" %02d",CStringToInt(hour)-1);
InvalidateRect(CRect(119,55,199,71));
}
}
void CTimeOfTimeDlg::OnBtnHourRight()
{
if (CStringToInt(hour) != 23)
{
hour.Format(L" %02d",CStringToInt(hour)+1);
InvalidateRect(CRect(119,55,199,71));
}
}
void CTimeOfTimeDlg::OnBtnMinuteLeft()
{
if (CStringToInt(minute) != 1)
{
minute.Format(L" %02d",CStringToInt(minute)-1);
InvalidateRect(CRect(119,115,199,133));
}
}
void CTimeOfTimeDlg::OnBtnMinuteRight()
{
if (CStringToInt(minute) != 59)
{
minute.Format(L" %02d",CStringToInt(minute)+1);
InvalidateRect(CRect(119,115,199,133));
}
}
void CTimeOfTimeDlg::OnBtnSecondLeft()
{
if (CStringToInt(second) != 1)
{
second.Format(L" %02d",CStringToInt(second)-1);
InvalidateRect(CRect(119,173,201,194));
}
}
void CTimeOfTimeDlg::OnBtnSecondRight()
{
if (CStringToInt(second) != 59)
{
second.Format(L" %02d",CStringToInt(second)+1);
InvalidateRect(CRect(119,173,201,194));
}
}
int CTimeOfTimeDlg::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 CTimeOfTimeDlg::OnBtnOK()
{
BOOL isOK;
time2.wHour = CStringToInt(hour);
time2.wMinute = CStringToInt(minute);
time2.wSecond = CStringToInt(second);
isOK=SetLocalTime(&time2);
::SendMessage(HWND_BROADCAST,DATETOTIME,0,0);
}
void CTimeOfTimeDlg::OnOK()
{
switch (m_currentPick)
{
case 0:
OnBtnHourLeft();
break ;
case 1:
OnBtnHourRight();
break ;
case 2:
OnBtnMinuteLeft();
break ;
case 3:
OnBtnMinuteRight();
break ;
case 4:
OnBtnSecondLeft();
break ;
case 5:
OnBtnSecondRight();
break ;
case 6:
OnBtnOK();
CDialog::OnOK();
break ;
default:
break ;
}
}
void CTimeOfTimeDlg::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_TIMEOFTIME_1_LEFT_B,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 0 ;
break ;
case 1:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_B,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 0 ;
break ;
case 2:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_B,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 1 ;
break ;
case 3:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_B,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 2 ;
break;
case 4:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_B,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 3 ;
break ;
case 5:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_B,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 4 ;
break;
case 6:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_B,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 5 ;
break;
}
}
if ( nChar == VK_DOWN || nChar == VK_RIGHT)
{
switch (m_prePick)
{
case 0:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_B,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 1 ;
break ;
case 1:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_B,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 2 ;
break ;
case 2:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_B,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 3 ;
break ;
case 3:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_B,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 4 ;
break;
case 4:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_B,5);
CopyBMP(IDB_TIMEOFTIME_OK_W,6);
m_currentPick = 5 ;
break ;
case 5:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_B,6);
m_currentPick = 6 ;
break;
case 6:
CopyBMP(IDB_TIMEOFTIME_1_LEFT_W,0);
CopyBMP(IDB_TIMEOFTIME_1_RIGHT_W,1);
CopyBMP(IDB_TIMEOFTIME_2_LEFT_W,2);
CopyBMP(IDB_TIMEOFTIME_2_RIGHT_W,3);
CopyBMP(IDB_TIMEOFTIME_3_LEFT_W,4);
CopyBMP(IDB_TIMEOFTIME_3_RIGHT_W,5);
CopyBMP(IDB_TIMEOFTIME_OK_B,6);
m_currentPick = 6 ;
break;
}
}
CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -