📄 volumedlg.cpp
字号:
//将图片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 + -