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

📄 setdlg.cpp

📁 EVC开发的手持导航的用户操作界面
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	
	//.............................................................
	//分配bitmap对象内存
	pBitmap = new CBitmap ;
	
	if ( m_currentPick == 1 )
	{
	pBitmap ->LoadBitmap ( IDB_SET_LANGUAGE_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_SET_LANGUANG_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_SET_LCD_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_SET_LCD_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_SET_VOLUME_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_SET_VOLUME_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_SET_POWER_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_SET_POWER_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_SET_INFO_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_SET_INFO_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_SET_GPS_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_SET_GPS_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 ;

	/////////////////////
	//分配bitmap对象内存
	pBitmap = new CBitmap ;
	
	if ( m_currentPick == 7 )
	{
	pBitmap ->LoadBitmap ( IDB_SET_TIME_B ) ;
	pOldBitmap = memDC.SelectObject ( pBitmap ) ;
	
	//将图片COPY到指定的像素位置
	dc.BitBlt ( m_rect[7].TopLeft().x, m_rect[7].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
	}
	else
	{		
		pBitmap ->LoadBitmap ( IDB_SET_TIME_W ) ;
		pOldBitmap = memDC.SelectObject ( pBitmap ) ;
		
		//将图片COPY到指定的像素位置
		dc.BitBlt ( m_rect[7].TopLeft().x, m_rect[7].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
	}
	
	memDC.SelectObject ( pOldBitmap ) ;
	//释放bitmap对象内存
	delete pBitmap ;
	//////////////////////
	//分配bitmap对象内存
	pBitmap = new CBitmap ;
	
	if ( m_currentPick == 8 )
	{
	pBitmap ->LoadBitmap ( IDB_SET_CANCEL_W ) ;
	pOldBitmap = memDC.SelectObject ( pBitmap ) ;
	
	//将图片COPY到指定的像素位置
	dc.BitBlt ( m_rect[8].TopLeft().x, m_rect[8].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
	}
	else
	{		
		pBitmap ->LoadBitmap ( IDB_SET_CANCEL_B ) ;
		pOldBitmap = memDC.SelectObject ( pBitmap ) ;
		
		//将图片COPY到指定的像素位置
		dc.BitBlt ( m_rect[8].TopLeft().x, m_rect[8].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
	}
	
	memDC.SelectObject ( pOldBitmap ) ;
	//释放bitmap对象内存
	delete pBitmap ;

	//////////////////////
	memDC.DeleteDC ()  ;
		
}

void CSetDlg::CopyBMP(int m_map, int i)
{
	CDC* pDC = GetDC () ;
	CDC  memDC ;
	memDC.CreateCompatibleDC ( pDC ) ;
	CBitmap bmp,bmp1 ;
	CBitmap* pOldBitmap ;
	bmp1.LoadBitmap ( m_map) ;
	pOldBitmap = memDC.SelectObject ( &bmp1 ) ;
	pDC->BitBlt ( m_rect[i].TopLeft().x, m_rect[i].TopLeft().y, m_rect[i].Width(), 
	m_rect[i].Height(), &memDC, 0, 0, SRCCOPY ) ;
	memDC.SelectObject ( pOldBitmap ) ;
	
	memDC.DeleteDC () ;
	ReleaseDC ( pDC ) ;	
}

void CSetDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	m_prePick=m_currentPick ;
			
	if ( nChar == VK_UP || nChar == VK_LEFT)
		{
			switch (m_prePick)
					{
					case 0:
						//GPS黑别的白
		CopyBMP(IDB_SET_BRIGHT_B,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);						
						m_currentPick = 0 ;
						break ;
					case 1:
						//mp3黑别的白
	CopyBMP(IDB_SET_BRIGHT_B,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);					
						m_currentPick = 0 ;
						break ;
					case 2:
						//mp4黑别的白
CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUAGE_B,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);
						m_currentPick = 1 ;
						break ;
					case 3:
						//图黑
CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_B,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);					m_currentPick = 2 ;
						break;
					case 4:
						//工具黑
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_B,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);					m_currentPick = 3 ;
						break ;
					case 5:
						//设置黑
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_B,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);					m_currentPick = 4 ;
						break;
							case 6:
						//设置黑
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_B,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);					m_currentPick = 5 ;
						break;
							case 7:
						//设置黑
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_B,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);					m_currentPick = 6 ;
						break;
							case 8:
						//设置黑
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_B,7);
	CopyBMP(IDB_SET_CANCEL_B,8);					m_currentPick = 7 ;
						break;
					
					}
				}
				
				if ( nChar == VK_DOWN || nChar == VK_RIGHT)
				{
					switch (m_prePick) 
					{
					case 0:
						//MP3黑别的白
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUAGE_B,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);				m_currentPick = 1 ;
						break ;
					case 1:
						//mp4黑别的白
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_B,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);				
						m_currentPick = 2 ;
						break ;
					case 2:
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_B,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);
						m_currentPick = 3 ;
						break ;
					case 3:
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_B,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);					m_currentPick = 4 ;
						break;
					case 4:
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_B,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);					m_currentPick = 5 ;
						break ;
					case 5:
						//设置黑
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_B,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_B,8);					m_currentPick = 6 ;
						break;
				case 6:
						//设置黑
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_B,7);
	CopyBMP(IDB_SET_CANCEL_B,8);
	m_currentPick = 7 ;
						break;
					
					case 7:
						//设置黑
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_W,8);					m_currentPick = 8 ;
						break;
						case 8:
						//设置黑
	CopyBMP(IDB_SET_BRIGHT_W,0);
	CopyBMP(IDB_SET_LANGUANG_W,1);
	CopyBMP(IDB_SET_LCD_W,2);
	CopyBMP(IDB_SET_VOLUME_W,3);
	CopyBMP(IDB_SET_POWER_W,4);
	CopyBMP(IDB_SET_INFO_W,5);
	CopyBMP(IDB_SET_GPS_W,6);
	CopyBMP(IDB_SET_TIME_W,7);
	CopyBMP(IDB_SET_CANCEL_W,8);					m_currentPick = 8 ;
						break;
				}
							
		}		
	CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}

void CSetDlg::OnOK() 
{
	CBrightDlg bright_dlg;
	CPowerDlg power_dlg;
	CTimeDlg time_dlg;
	CVolumeDlg volume_dlg;
	CLanguageDlg language_dlg;
	CInfoDlg info_dlg;
	PROCESS_INFORMATION info;

	switch (m_currentPick)
	{
		case 0:	
						bright_dlg.DoModal();
						
						break ;
				case 1:
						language_dlg.DoModal();
						break ;
				case 2:
						if(!(CreateProcess(TEXT("\\Storage Card\\TouchCal.exe"),NULL,NULL,NULL,NULL,CREATE_NEW_CONSOLE,
						NULL,NULL,NULL, &info)))
						{
						MessageBox(TEXT("Can't run !"),TEXT("Error"));
						}
						break ;
				case 3:		
						volume_dlg.DoModal();

						break ;
				case 4:			
						power_dlg.DoModal();
						break ;
				case 5:		
						info_dlg.DoModal();
						break ;
				case 6:					
						break ;
				case 7:			
						time_dlg.DoModal();
						break ;
				case 8:		
					CDialog::OnCancel();
						break ;
		default:
			break ;
	}
		
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -