⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timeofdatedlg.cpp

📁 EVC开发的手持导航的用户操作界面
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	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 + -