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

📄 volumedlg.cpp

📁 EVC开发的手持导航的用户操作界面
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	//将图片COPY到指定的像素位置
	dc.BitBlt ( m_rect[1].TopLeft().x, m_rect[1].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
	}
	else
	{		
		pBitmap ->LoadBitmap ( IDB_VOLUME_ADD_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) || (m_Screen))
	{
	pBitmap ->LoadBitmap ( IDB_VOLUME_YES_B ) ;
	pOldBitmap = memDC.SelectObject ( pBitmap ) ;
	
	//将图片COPY到指定的像素位置
	dc.BitBlt ( m_rect[2].TopLeft().x, m_rect[2].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
	}
	if (m_Screen == false)
	{
		
	pBitmap ->LoadBitmap ( IDB_VOLUME_NO_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_VOLUME_OK_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_VOLUME_OK_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 ;
	//................................................................
	

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

void CVolumeDlg::SetToolRectangle()
{
	m_rect [0].SetRect(40,60,74,94);
	m_rect [1].SetRect(247,60,281,94);
	m_rect [2].SetRect(140,144,180,186);
	m_rect [3].SetRect(276,198,310,232);
}

void CVolumeDlg::OnBtnVolumeSub()
{
DWORD sVolume;
	DWORD dwVolume;

	if(out<9)
		out++;
	else
		out=9;
	if(out==0) sVolume=0;
	else if(out==1)	sVolume=((DWORD)0xffff/9*1-1);
	else if(out==2)	sVolume=((DWORD)0xffff/9*2-1);
	else if(out==3)	sVolume=((DWORD)0xffff/9*3-1);
	else if(out==4)	sVolume=((DWORD)0xffff/9*4-1);
	else if(out==5)	sVolume=((DWORD)0xffff/9*5-1);
	else if(out==6)	sVolume=((DWORD)0xffff/9*6-1);
	else if(out==7)	sVolume=((DWORD)0xffff/9*7-1);
	else if(out==8)	sVolume=((DWORD)0xffff/9*8-1);
	else if(out==9)	sVolume=0xffff;
	ShowVolume(out);
	
	dwVolume=(sVolume<<16)|(sVolume);
	waveOutSetVolume(0,dwVolume);
}

void CVolumeDlg::OnBtnVolumeAdd()
{
	DWORD sVolume;
	DWORD dwVolume;

	if(out>0)
		out--;
	else
		out=0;
	if(out==0) sVolume=0;
	else if(out==1)	sVolume=((DWORD)0xffff/9*1-1);
	else if(out==2)	sVolume=((DWORD)0xffff/9*2-1);
	else if(out==3)	sVolume=((DWORD)0xffff/9*3-1);
	else if(out==4)	sVolume=((DWORD)0xffff/9*4-1);
	else if(out==5)	sVolume=((DWORD)0xffff/9*5-1);
	else if(out==6)	sVolume=((DWORD)0xffff/9*6-1);
	else if(out==7)	sVolume=((DWORD)0xffff/9*7-1);
	else if(out==8)	sVolume=((DWORD)0xffff/9*8-1);
	else if(out==9)	sVolume=0xffff;
	ShowVolume(out);
	
	dwVolume=(sVolume<<16)|(sVolume);
	waveOutSetVolume(0,dwVolume);
	
}

void CVolumeDlg::ShowVolume(UCHAR volume)
{
	m_staVol0.ShowWindow(SW_HIDE);
	m_staVol1.ShowWindow(SW_HIDE);
	m_staVol2.ShowWindow(SW_HIDE);
	m_staVol3.ShowWindow(SW_HIDE);
	m_staVol4.ShowWindow(SW_HIDE);
	m_staVol5.ShowWindow(SW_HIDE);
	m_staVol6.ShowWindow(SW_HIDE);
	m_staVol7.ShowWindow(SW_HIDE);
	m_staVol8.ShowWindow(SW_HIDE);
	m_staVol9.ShowWindow(SW_HIDE);
	
	switch(volume)
	{
	case 0:
		m_staVol0.ShowWindow(SW_SHOW);
		break;
	case 1:
		m_staVol1.ShowWindow(SW_SHOW);
		break;
	case 2:
		m_staVol2.ShowWindow(SW_SHOW);
		break;
	case 3:
		m_staVol3.ShowWindow(SW_SHOW);
		break;
	case 4:
		m_staVol4.ShowWindow(SW_SHOW);
		break;
	case 5:
		m_staVol5.ShowWindow(SW_SHOW);
		break;
	case 6:
		m_staVol6.ShowWindow(SW_SHOW);
		break;
	case 7:
		m_staVol7.ShowWindow(SW_SHOW);
		break;
	case 8:
		m_staVol8.ShowWindow(SW_SHOW);
		break;
	case 9:
		m_staVol9.ShowWindow(SW_SHOW);
		break;
	default:
		break;
	}
}

void CVolumeDlg::OnBtnScreenClick()
{
	if (m_Screen)
	{
		//m_Screen = false;
		ScreenClick();
		
			
	}
	
	if (!m_Screen)
	{
		//m_Screen =  true;
		ScreenClick();
		
	}
		
	
}

void CVolumeDlg::ScreenClick()
{
	
	
	m_Screen = !m_Screen;
	
	HKEY hKey1;

	DWORD dwType1;
	DWORD dwScreen1 = 1;
	DWORD dwScreen2 = 65536;
	
	DWORD dwLen1;
	HANDLE Handle;
	
	long lResult = RegOpenKeyEx(HKEY_CURRENT_USER, szregRootScreenKey, 0, KEY_ALL_ACCESS, &hKey1);

	if(ERROR_SUCCESS == lResult)
	{
		dwType1 = REG_DWORD;
		dwLen1  = sizeof(DWORD);

		if (m_Screen)
		{
			lResult = RegSetValueEx(hKey1,szregScreen, 0, dwType1, (LPBYTE)&dwScreen1,
				dwLen1);
		}
		else
			lResult = RegSetValueEx(hKey1,szregScreen, 0, dwType1, (LPBYTE)&dwScreen2,
				dwLen1);
		
		
	}
	
	Handle = CreateEvent(NULL, FALSE, FALSE, TEXT("BackLightChangeEvent"));
	if (Handle) 
	{
		SetEvent(Handle);
		CloseHandle(Handle);
	}
		
		
	

	RegCloseKey(hKey1);
	
	
	
}

void CVolumeDlg::OnOK() 
{
	PROCESS_INFORMATION info;
	switch (m_currentPick)
	{
		case 0:	//打开记算器
			if(!(CreateProcess(TEXT("\\Storage Card\\calculator.exe"),NULL,NULL,NULL,NULL,CREATE_NEW_CONSOLE,
				NULL,NULL,NULL, &info)))
				{
				//MessageBox(TEXT("Can't run !"),TEXT("Error"));
				}
	
			break ;
		case 1:
			break ;
		case 2:
			break ;
		case 3:					
			break ;
		case 4:
			break;
		case 5:
			  break;
		default:
			break ;
	}
		
}

void CVolumeDlg::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:
						//GPS黑别的白
						CopyBMP(IDB_TOOL_CALC_B,0);
						CopyBMP(IDB_TOOL_CLOCK_W,1);
						CopyBMP(IDB_TOOL_TAG_W,2);
						CopyBMP(IDB_TOOL_BOOK_W,3);
						CopyBMP(IDB_TOOL_TEST_W,4);
						CopyBMP(IDB_TOOL_CANCEL_W,5);
						m_currentPick = 0 ;
						break ;
					case 1:
						//mp3黑别的白
						CopyBMP(IDB_TOOL_CALC_B,0);
						CopyBMP(IDB_TOOL_CLOCK_W,1);
						CopyBMP(IDB_TOOL_TAG_W,2);
						CopyBMP(IDB_TOOL_BOOK_W,3);
						CopyBMP(IDB_TOOL_TEST_W,4);
						CopyBMP(IDB_TOOL_CANCEL_W,5);
						
						m_currentPick = 0 ;
						break ;
					case 2:
						//mp4黑别的白
						CopyBMP(IDB_TOOL_CALC_W,0);
						CopyBMP(IDB_TOOL_CLOCK_B,1);
						CopyBMP(IDB_TOOL_TAG_W,2);
						CopyBMP(IDB_TOOL_BOOK_W,3);
						CopyBMP(IDB_TOOL_TEST_W,4);
						CopyBMP(IDB_TOOL_CANCEL_W,5);

						m_currentPick = 1 ;
						break ;
					case 3:
						//图黑
						CopyBMP(IDB_TOOL_CALC_W,0);
						CopyBMP(IDB_TOOL_CLOCK_W,1);
						CopyBMP(IDB_TOOL_TAG_B,2);
						CopyBMP(IDB_TOOL_BOOK_W,3);
						CopyBMP(IDB_TOOL_TEST_W,4);
						CopyBMP(IDB_TOOL_CANCEL_W,5);
						m_currentPick = 2 ;
						break;
					case 4:
						//工具黑
						CopyBMP(IDB_TOOL_CALC_W,0);
						CopyBMP(IDB_TOOL_CLOCK_W,1);
						CopyBMP(IDB_TOOL_TAG_W,2);
						CopyBMP(IDB_TOOL_BOOK_B,3);
						CopyBMP(IDB_TOOL_TEST_W,4);
						CopyBMP(IDB_TOOL_CANCEL_W,5);
						m_currentPick = 3 ;
						break ;
					case 5:
						//设置黑
						CopyBMP(IDB_TOOL_CALC_W,0);
						CopyBMP(IDB_TOOL_CLOCK_W,1);
						CopyBMP(IDB_TOOL_TAG_W,2);
						CopyBMP(IDB_TOOL_BOOK_W,3);
						CopyBMP(IDB_TOOL_TEST_B,4);
						CopyBMP(IDB_TOOL_CANCEL_W,5);
						m_currentPick = 4 ;
						break;
					
					}
				}
				
			if ( nChar == VK_DOWN  || nChar == VK_RIGHT)
				{
					switch (m_prePick) 
					{
					case 0:
						//MP3黑别的白
						CopyBMP(IDB_TOOL_CALC_W,0);
						CopyBMP(IDB_TOOL_CLOCK_B,1);
						CopyBMP(IDB_TOOL_TAG_W,2);
						CopyBMP(IDB_TOOL_BOOK_W,3);
						CopyBMP(IDB_TOOL_TEST_W,4);
						CopyBMP(IDB_TOOL_CANCEL_W,5);
						m_currentPick = 1 ;
						break ;
					case 1:
						//mp4黑别的白
						CopyBMP(IDB_TOOL_CALC_W,0);
						CopyBMP(IDB_TOOL_CLOCK_W,1);
						CopyBMP(IDB_TOOL_TAG_B,2);
						CopyBMP(IDB_TOOL_BOOK_W,3);
						CopyBMP(IDB_TOOL_TEST_W,4);
						CopyBMP(IDB_TOOL_CANCEL_W,5);
						
						m_currentPick = 2 ;
						break ;
					case 2:
						//picture黑别的白
						CopyBMP(IDB_TOOL_CALC_W,0);
						CopyBMP(IDB_TOOL_CLOCK_W,1);
						CopyBMP(IDB_TOOL_TAG_W,2);
						CopyBMP(IDB_TOOL_BOOK_B,3);
						CopyBMP(IDB_TOOL_TEST_W,4);
						CopyBMP(IDB_TOOL_CANCEL_W,5);

						m_currentPick = 3 ;
						break ;
					case 3:
						//tool黑
						CopyBMP(IDB_TOOL_CALC_W,0);
						CopyBMP(IDB_TOOL_CLOCK_W,1);
						CopyBMP(IDB_TOOL_TAG_W,2);
						CopyBMP(IDB_TOOL_BOOK_W,3);
						CopyBMP(IDB_TOOL_TEST_B,4);
						CopyBMP(IDB_TOOL_CANCEL_W,5);
						m_currentPick = 4 ;
						break;
					case 4:
						//set黑
						CopyBMP(IDB_TOOL_CALC_W,0);
						CopyBMP(IDB_TOOL_CLOCK_W,1);
						CopyBMP(IDB_TOOL_TAG_W,2);
						CopyBMP(IDB_TOOL_BOOK_W,3);
						CopyBMP(IDB_TOOL_TEST_W,4);
						CopyBMP(IDB_TOOL_CANCEL_B,5);
						m_currentPick = 5 ;
						break ;
					case 5:
						//设置黑
						CopyBMP(IDB_TOOL_CALC_W,0);
						CopyBMP(IDB_TOOL_CLOCK_W,1);
						CopyBMP(IDB_TOOL_TAG_W,2);
						CopyBMP(IDB_TOOL_BOOK_W,3);
						CopyBMP(IDB_TOOL_TEST_W,4);
						CopyBMP(IDB_TOOL_CANCEL_B,5);
						m_currentPick = 5 ;
						break;
				
					}
				}
				
	
	CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}

⌨️ 快捷键说明

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