📄 tooldlg.cpp
字号:
CDC memDC ;
memDC.CreateCompatibleDC ( &dc ) ;
CBitmap* pBitmap ; //load all bitmap
CBitmap* pOldBitmap ; //save old bitmap temp
//.............................................................
//分配bitmap对象内存
pBitmap = new CBitmap ;
if (m_NavRefresh || m_currentPick == 0)
{
//黑
pBitmap ->LoadBitmap ( IDB_TOOL_CALC_B ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[0].TopLeft().x, m_rect[0].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
else
{
// CopyBMP(IDB_TOOL_CALC_W,0,dc);
//白
pBitmap ->LoadBitmap ( IDB_TOOL_CALC_W) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( m_rect[0].TopLeft().x, m_rect[0].TopLeft().y, 111, 111, &memDC, 0, 0, SRCCOPY ) ;
}
memDC.SelectObject ( pOldBitmap ) ;
//释放bitmap对象内存
delete pBitmap ;
//.............................................................
//分配bitmap对象内存
pBitmap = new CBitmap ;
if ( m_currentPick == 1 )
{
pBitmap ->LoadBitmap ( IDB_TOOL_CLOCK_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_TOOL_CLOCK_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_TOOL_TAG_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_TOOL_TAG_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_TOOL_BOOK_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_TOOL_BOOK_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_TOOL_TEST_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_TOOL_TEST_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_TOOL_CANCEL_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_TOOL_CANCEL_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 ;
///////////
//设LOGO
/* pBitmap = new CBitmap ;
pBitmap ->LoadBitmap ( IDB_LOGO ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;
//将图片COPY到指定的像素位置
dc.BitBlt ( logo.TopLeft().x, logo.TopLeft().y, 131, 33, &memDC, 0, 0, SRCCOPY ) ;
memDC.SelectObject ( pOldBitmap ) ;
delete pBitmap;
*/
//////////////////////
memDC.DeleteDC () ;
}
void CToolDlg::CopyBMP(int res, int n)
{
CDC* pDC = GetDC () ;
CDC memDC ;
memDC.CreateCompatibleDC ( pDC ) ;
CBitmap bmp,bmp1 ;
CBitmap* pOldBitmap ;
bmp1.LoadBitmap ( res) ;
pOldBitmap = memDC.SelectObject ( &bmp1 ) ;
pDC->BitBlt ( m_rect[n].TopLeft().x, m_rect[n].TopLeft().y, m_rect[n].Width(),
m_rect[n].Height(), &memDC, 0, 0, SRCCOPY ) ;
memDC.SelectObject ( pOldBitmap ) ;
memDC.DeleteDC () ;
ReleaseDC ( pDC ) ;
}
void CToolDlg::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);
}
void CToolDlg::OnOK()
{
PROCESS_INFORMATION info;
CErrorDlg error_dlg;
switch (m_currentPick)
{
case 0:
if(!(CreateProcess(TEXT("\\Storage Card\\calculator.exe"),NULL,NULL,NULL,NULL,CREATE_NEW_CONSOLE,
NULL,NULL,NULL, &info)))
{
error_dlg.m_strError = " 请检查SD卡计算器文件! ";
error_dlg.DoModal();
}
break ;
case 1:
break ;
case 2:
break ;
case 3:
break ;
case 4:
break;
case 5:
CDialog::OnOK();
break;
default:
break ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -