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

📄 picdlg.cpp

📁 wince 5.0下应用软件
💻 CPP
📖 第 1 页 / 共 2 页
字号:

void CPIcDlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
	switch(wParam)
	{
	case COMMAND_BTN1:
		{
			CreateRunProgram(G_BTN_SECT_MAIN,G_EXE1_KEY_MAIN);
		}
		break;
	case COMMAND_BTN2:
		{
			CreateRunProgram(G_BTN_SECT_MAIN,G_EXE2_KEY_MAIN);
		}
		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];

	MAXZERO(wzExePath);
	MAXZERO(szExePath);
	MAXZERO(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 
	{
	MAXZERO(szBtnPoint);
	MAXZERO(szBtnPath);
	MAXZERO(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:
		{
			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[16];
	char *BtnArea[8];
	char szBtnName[MAX_PATH];

	MAXZERO(szBtnNameArea);
	MAXZERO(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];
	MAXZERO(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);
}

⌨️ 快捷键说明

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