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

📄 picdlg.cpp

📁 wince 5.0下应用软件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		break;
	case COMMAND_BTN3:
		{
			if(m_Flag)
			{
				OnHideGameBtn(m_Flag);
				m_Flag = FALSE;
				OnShowMainBtn(m_Flag);
				InvalidateRect(m_hWnd,NULL,FALSE);
			}
			else
			{
				m_Flag = TRUE;
				InvalidateRect(m_hWnd,NULL,FALSE);
			}
		}
		break;

	case COMMAND_BTN4:
		{
			if(m_Flag)
			{
				this->DestroyBtn();
				exit(0);
			}
			else
			{
				OnHideGameBtn(m_Flag);
				m_Flag = TRUE;
				OnShowMainBtn(m_Flag);
				InvalidateRect(m_hWnd,NULL,FALSE);
			}
//			CreateRunProgram(G_BTN_SECT_MAIN,G_EXE4_KEY_MAIN);
		}
		break;
		
	case COMMAND_BTN5:
		{
			CreateRunProgram(G_BTN_SECT_GAME,G_EXE1_KEY_MAIN);
		}
		break;
	case COMMAND_BTN6:
		{
			CreateRunProgram(G_BTN_SECT_GAME,G_EXE2_KEY_MAIN);
		}
		break;
	case COMMAND_BTN7:
		{
			CreateRunProgram(G_BTN_SECT_GAME,G_EXE3_KEY_MAIN);
		}
		break;

	case COMMAND_BTN8:
		{
			CreateRunProgram(G_BTN_SECT_GAME,G_EXE5_KEY_MAIN);
		}
		break;
	case COMMAND_BTN9:
		{
			CreateRunProgram(G_BTN_SECT_GAME,G_EXE6_KEY_MAIN);
		}
		break;
	default:
		break;
	}
}

BOOL CPIcDlg::CreateRunProgram(const char *section,const char *key)
{
	BOOL fRet = FALSE;
	CFileHandle FileHandle;	

	TCHAR wzExePath[MAX_PATH];

	char szExePath[MAX_PATH];
	TCHAR wzAllExePath[MAX_PATH];

	MEMZERO(wzExePath);
	MEMZERO(szExePath);
	MEMZERO(wzAllExePath);
	FileHandle.GetProfileString(m_szFilePath,section,key,szExePath,"");
	if(szExePath)
	{
		memcpy(wzAllExePath,m_CurrentRunFilePath,sizeof(m_CurrentRunFilePath));
		MultiByteToWideChar(CP_ACP, 0, szExePath, -1, wzExePath, strlen(szExePath));
		lstrcat(wzAllExePath,wzExePath);
		if(FileHandle.CreateRunProgram(wzAllExePath))
			fRet = true;
	}
	return fRet;
}

void CPIcDlg::DestroyBtn()
{
	if(m_Btn1)
	{
		m_Btn1->Destroy();
		delete m_Btn1;
		m_Btn1 = NULL;
	}
	if(m_Btn2)
	{
		m_Btn2->Destroy();
		delete m_Btn2;
		m_Btn2 = NULL;
	}
	if(m_Btn3)
	{
		m_Btn3->Destroy();
		delete m_Btn3;
		m_Btn3 = NULL;
	}
	if(m_Btn4)
	{
		m_Btn4->Destroy();
		delete m_Btn4;
		m_Btn4 = NULL;
	}

	if(m_Btn5)
	{
		m_Btn5->Destroy();
		delete m_Btn5;
		m_Btn5 = NULL;
	}
	if(m_Btn6)
	{
		m_Btn6->Destroy();
		delete m_Btn6;
		m_Btn6 = NULL;
	}
	if(m_Btn7)
	{
		m_Btn7->Destroy();
		delete m_Btn7;
		m_Btn7 = NULL;
	}
	if(m_Btn8)
	{
		m_Btn8->Destroy();
		delete m_Btn8;
		m_Btn8= NULL;
	}
	if(m_Btn9)
	{
		m_Btn9->Destroy();
		delete m_Btn9;
		m_Btn9= NULL;
	}
}

void CPIcDlg::GetBtnInfo(const char *section, const char *key,const char *BtnAreakey, TCHAR *BtnPath, int *StartX, int *StartY)
{
	CFileHandle Handle;
//get button path from config
	char szBtnPath[MAX_PATH];
	char szBtnPoint[MAX_PATH];
	char *BtnArea[8];

	TCHAR wzBtnPath[MAX_PATH];
//create button1 
	{
	MEMZERO(szBtnPoint);
	MEMZERO(szBtnPath);
	MEMZERO(wzBtnPath);

	Handle.GetProfileString(m_szFilePath,section,key,szBtnPath,"res\\Setup_CopyFile_toLeft_dn.bmp");
	MultiByteToWideChar(CP_ACP, 0, szBtnPath, -1, wzBtnPath, strlen(szBtnPath));
	memcpy(BtnPath,m_CurrentRunFilePath,sizeof(m_CurrentRunFilePath));
	lstrcat(BtnPath,wzBtnPath);

//get button point form config
	Handle.GetProfileString(m_szFilePath,section,BtnAreakey,szBtnPoint,"143,87");
	Handle.SplitString(szBtnPoint,BtnArea,sizeof(BtnArea),",");
	*StartX = atoi(BtnArea[0]);
	*StartY = atoi(BtnArea[1]);
	}
}

void CPIcDlg::OnTimer(WPARAM wParam, LPARAM lParam)
{
	switch(wParam)
	{
	case MOVE_WINDOWS_TIMER_EVEN:
		{
/*
			m_CopyRect.left = m_ScreenX - 20;
			m_CopyRect.top = 0;
			m_CopyRect.right = m_ScreenX;
			m_CopyRect.bottom = m_ScreenY;
			RECT rect;
			::SetRect(&rect,0,0,20,m_ScreenY);
			CopyRect(&rect,&m_CopyRect);
			
*/
			::InvalidateRect(m_hWnd,NULL,false);
/*
			if(m_ScreenY > 0)
				m_ScreenY -= 4;
			else
				::KillTimer(m_hWnd,MOVE_WINDOWS_TIMER_EVEN);
			MoveWindow(m_hWnd,0,m_ScreenY,m_ScreenX,272,FALSE);
*/
			
		}
		break;
	default:
		break;
	}
}

void CPIcDlg::OnKeyDown(WPARAM wParam, LPARAM lParam)
{
	switch(wParam)
	{
	case VK_BACK://BACKSPACE key 08
		break;
	case VK_TAB://09
		break;
	case VK_CLEAR://CLEAR key 0c
		break;
	case VK_RETURN ://(0D) ENTER key
		break;
	case VK_CAPITAL ://CAPS LOCK key 14
		break;
	case VK_SHIFT ://10
		break;
	case VK_CONTROL://11
		break;
	case VK_MENU://ALT key 12
		break;
	case VK_ESCAPE://ESC key 1B
		break;
	case VK_SPACE://SPACEBAR 20
		break;
	case VK_PRIOR ://PAGE UP key 21
		break;
	case VK_NEXT://PAGE DOWN key 22
		break;
	case VK_END://END key 23
		break;
	case VK_HOME ://24
		break;
	case VK_LEFT://25
		break;
	case VK_UP://26
		break;
	case VK_RIGHT://27
		break;
	case VK_DOWN ://28
		break;
	default:
		break;
	}
}

void CPIcDlg::OnKeyUp(WPARAM wParam, LPARAM lParam)
{
	switch(wParam)
	{
	case VK_BACK://BACKSPACE key 08
		break;
	case VK_TAB://09
		break;
	case VK_CLEAR://CLEAR key 0c
		break;
	case VK_RETURN ://(0D) ENTER key
		break;
	case VK_CAPITAL ://CAPS LOCK key 14
		break;
	case VK_SHIFT ://10
		break;
	case VK_CONTROL://11
		break;
	case VK_MENU://ALT key 12
		break;
	case VK_ESCAPE://ESC key 1B
		break;
	case VK_SPACE://SPACEBAR 20
		break;
	case VK_PRIOR ://PAGE UP key 21
		break;
	case VK_NEXT://PAGE DOWN key 22
		break;
	case VK_END://END key 23
		break;
	case VK_HOME ://24
		break;
	case VK_LEFT://25
		break;
	case VK_UP://26
		break;
	case VK_RIGHT://27
		break;
	case VK_DOWN ://28
		break;
	default:
		break;
	}
}

void CPIcDlg::OnLButtonDown(WPARAM wParam, LPARAM lParam)//wParam  Key State Masks for Mouse Messages
{
	POINT pt;
	pt.x = LOWORD(lParam);
	pt.y = HIWORD(lParam);
}

void CPIcDlg::OnLButtonUp(WPARAM wParam, LPARAM lParam)
{
	POINT pt;
	pt.x = LOWORD(lParam);
	pt.y = HIWORD(lParam);
}

void CPIcDlg::OnMouseMove(WPARAM wParam, LPARAM lParam)
{
	POINT pt;
	pt.x = LOWORD(lParam);
	pt.y = HIWORD(lParam);
}

BOOL CPIcDlg::OnInitDialog(WPARAM wParam, LPARAM lParam)
{
	return TRUE;
}

void CPIcDlg::OnSysCommand(WPARAM wParam, LPARAM lParam)
{
	POINT pt;
	pt.x = LOWORD(lParam);
	pt.y = HIWORD(lParam);
}




void CPIcDlg::SetBtnNameArea(const char *section, const char *key,const char *KeyBtnName,
							 const char *BtnNameColor,RECT *rect, TCHAR *BtnName,COLORREF *Color)
{
	CFileHandle Handle;
	char szBtnNameArea[MAX_PATH] ={ NULL};
	char *BtnArea[8];
	char szBtnName[MAX_PATH] ={NULL};

//	MEMZERO(szBtnNameArea);
//	MEMZERO(szBtnName);
	Handle.GetProfileString(m_szFilePath,section,key,szBtnNameArea,"62,146,119,175");
	Handle.SplitString(szBtnNameArea,BtnArea,sizeof(BtnArea),",");
	::SetRect(rect,atoi(BtnArea[0]),atoi(BtnArea[1]),atoi(BtnArea[2]),atoi(BtnArea[3]));

	Handle.GetProfileString(m_szFilePath,section,BtnNameColor,szBtnNameArea,"0,0,0");
	Handle.SplitString(szBtnNameArea,BtnArea,sizeof(BtnArea),",");
	*Color = RGB(atoi(BtnArea[0]),atoi(BtnArea[1]),atoi(BtnArea[2]));
	m_FontSize = atoi(BtnArea[3]);

	Handle.GetProfileString(m_szFilePath,section,KeyBtnName,szBtnName,"道道通");
	MultiByteToWideChar(CP_ACP, 0, szBtnName, -1, BtnName, strlen(szBtnName));
}

HFONT CPIcDlg::CreateShowFont(const char *section, const char *Fontkey/*,const char *FontName*/)
{
	LOGFONT lf;
//	char szFontSzie[8];
//	MEMZERO(szFontSzie);
	GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT),&lf);          
	lf.lfHeight = m_FontSize;

	return CreateFontIndirect(&lf); 
}



void CPIcDlg::OnShowMainBtn(BOOL BtnFlag)
{
	m_Btn1->ShowBtn(BtnFlag);
	m_Btn2->ShowBtn(BtnFlag);	
	m_Btn3->ShowBtn(BtnFlag);	
}

void CPIcDlg::OnHideGameBtn(BOOL Flag)
{
	m_Btn5->ShowBtn(Flag);
	m_Btn6->ShowBtn(Flag);
	m_Btn7->ShowBtn(Flag);
	m_Btn8->ShowBtn(Flag);
	m_Btn9->ShowBtn(Flag);
}

void CPIcDlg::OnFileChangeInfo(WPARAM wParam, LPARAM lParam)
{
	FILECHANGENOTIFY *lpfcn = NULL;
	FILECHANGEINFO *lpfci = NULL;
	lpfcn = (FILECHANGENOTIFY *)lParam;
	if (NULL == lpfcn)
		return;
	lpfci = &(lpfcn->fci);
	if (NULL == lpfci)
		return;
	else
	{
		switch(lpfci->wEventId)
		{
		case SHCNE_RENAMEITEM:
			break;
		case SHCNE_CREATE:
			break;        
		case SHCNE_DELETE:
			break;
		case SHCNE_MKDIR:
			break;
		case SHCNE_RMDIR:
			break;        
		case SHCNE_MEDIAINSERTED://insert sd card
			break;
		case SHCNE_MEDIAREMOVED:
			::MessageBox(m_hWnd,_T("SD card removed\n"),_T("Error"),MB_OK);
			break;
		case SHCNE_DRIVEREMOVED:
			break;
		case SHCNE_DRIVEADD:
			break;
		case SHCNE_NETSHARE:
			break;
		case SHCNE_NETUNSHARE:
			break;
		case SHCNE_ATTRIBUTES :
			break;
		case SHCNE_UPDATEDIR:
			break;
		case SHCNE_UPDATEITEM :
			break;
		case SHCNE_DRIVEADDGUI:
			break;
		case SHCNE_RENAMEFOLDER:
			break;
		default:
			break;
		}                          
	}       
	SHChangeNotifyFree(lpfcn);
}

⌨️ 快捷键说明

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