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

📄 mainframe.cpp

📁 联通手机的宝典画面.用brew 平台编辑而成.
💻 CPP
📖 第 1 页 / 共 2 页
字号:
						AECHAR  pText[40];
						ISHELL_LoadResString(m_pApplet->m_pIShell, RES_FILE, MENU_JPTJ, pText, sizeof(pText));

						m_state = GS_BROWSE_WEB;
						IDISPLAY_SetColor(m_pApplet->m_pIDisplay, CLR_USER_BACKGROUND, MAKE_BACK_COLOR);
						m_pObject = new CContentList;
						m_pObject->Init(pText, 2, &m_frameInfo);
						m_pObject->Create();
						update = true;
					}
					break;
				case 1:	// 精彩分类
					{
						AECHAR  pText[40];
						ISHELL_LoadResString(m_pApplet->m_pIShell, RES_FILE, MENU_JCFL, pText, sizeof(pText));

						m_state = GS_BROWSE_WEB;
						IDISPLAY_SetColor(m_pApplet->m_pIDisplay, CLR_USER_BACKGROUND, MAKE_BACK_COLOR);
						m_pObject = new CCategory;
						m_pObject->Init(pText, 0, &m_frameInfo);
						m_pObject->Create();
						update = true;
					}
                    break; 
				case 2:	// 搜索
					{
						AECHAR  pText[40];
						ISHELL_LoadResString(m_pApplet->m_pIShell, RES_FILE, MENU_SEARCH, pText, sizeof(pText));

						m_state = GS_BROWSE_WEB;
						IDISPLAY_SetColor(m_pApplet->m_pIDisplay, CLR_USER_BACKGROUND, MAKE_BACK_COLOR);
						m_pObject = new CSearchContent;
						m_pObject->Init(pText, 1, &m_frameInfo);
						m_pObject->Create();
						update = true;
					}
                    break; 
				case 3:	// 我的收藏
					{
						AECHAR  pText[40];
						ISHELL_LoadResString(m_pApplet->m_pIShell, RES_FILE, MENU_WDSC, pText, sizeof(pText));
						
						m_state = GS_BROWSE_MYDOC;
						IDISPLAY_SetColor(m_pApplet->m_pIDisplay, CLR_USER_BACKGROUND, MAKE_BACK_COLOR);
						m_pObject = new CMyDoc;
						m_pObject->Init(pText, 1, &m_frameInfo);
						m_pObject->Create();
						update = true;
					}
                    break;
				case 4:  //help:
                    m_state = GS_ABOUT_TEXT;
                    ClearScreen();
                    ShowAbout();
                    update = true;
                    break;
				default:
					m_nMenuSelected = NULL;
					break;
            }
            break;
 
		case GS_ABOUT_TEXT:
            if (m_bRegenText)
            {
                m_bRegenText = false;
                ShowAbout();
            }
            break;

        case GS_RULES_TEXT:
            if (m_bRegenText)
            {
                m_bRegenText = false;
                ShowRules();
            }
            break;
        case GS_MENU_TEXT_EXIT:
            if (m_pText != NULL)
            {
                ISTATIC_Release(m_pText);
                m_pText = NULL;
            }
            m_state = GS_MENU;
            break;
		case GS_SEACHE:
			ShowSeache();
            break;
    }

    m_stateBuf = m_state;
	if (update) IDISPLAY_Update (m_pApplet->m_pIDisplay);
}

void CMainFrame::ShowMenu()
{
	int	cxScreen = m_device.cxScreen;
	int cyScreen = m_device.cyScreen;

	// 背景图
// 	DrawPicRect(m_imgPanelBase, 0, 0, cxScreen, cyScreen);
	DrawPicRect(m_imgPanelBase2, 0, 0, cxScreen, cyScreen);
	
	if (m_nMenuSelected >=0 && m_nMenuSelected < MENU_COUNT)
	{
		int xoff = 11, yoff = 38, i;
		AEEImageInfo info;
		IIMAGE_GetInfo(m_imgPanelBase2, &info);
		
		xoff = 11 + (cxScreen - info.cx) / 2;
		yoff = 25 + (cyScreen - info.cy) / 2;
		
		// 图标
		for (i = 0; i < MENU_COUNT; i++)
		{
			IImage * pImage;
			if (i == m_nMenuSelected)
				pImage = m_icon[i * 2 + 1];
			else
				pImage = m_icon[i * 2];

			if(pImage)
			{
				IIMAGE_Draw(pImage, xoff, yoff);
				yoff += 18;
			}
		}
	}
	
}

void CMainFrame::ShowRules() 
{
    AECHAR * str = NULL;

	ISHELL_LoadResString(m_pApplet->m_pIShell, RES_FILE ,IDS_HELP_TEXT, m_wCharBuf1, CBUF1SIZE);

    LoadWideText(m_pApplet->m_pIShell, IDS_HELP_TITLE, &str, RES_FILE);

    _parseEscapeAEChars( m_wCharBuf1 );

    ShowText (m_wCharBuf1, str, 1); 
    FREEIF(str);
}

void CMainFrame::ShowSeache() 
{
	AEERect	rcScreen;
	rcScreen.x  = 0;
	rcScreen.y  = 0;
	rcScreen.dx = m_device.cxScreen;
	rcScreen.dy = m_device.cyScreen;
	
	IStatic* pIStatic=NULL;
	ShowResString(m_pApplet->m_pIShell, &pIStatic, &rcScreen, NULL, IDS_ERR_MEM);
	if(pIStatic)
		ReleaseObj((void * *)&pIStatic);
}

void CMainFrame::ShowAbout()
{
	AEERect rc;	
	rc.x=0;
	rc.y=0;
	rc.dx=m_device.cxScreen;
	rc.dy=m_device.cyScreen;


	m_html.SetRect(&rc);
	m_html.LoadResStringAndParseBuffer(RES_FILE,m_nHelpCurrent);
}

void CMainFrame::ShowText(AECHAR *text, AECHAR *exit, int justify)
{
	AEERect rect;

    if (m_pText)
        ReleaseObj((void**)&m_pText);
    
 	ISHELL_CreateInstance(m_pApplet->m_pIShell, AEECLSID_STATIC,(void **)&m_pText);

    if (justify == 1)
    {
		ISTATIC_SetProperties(m_pText, ST_NOSCROLL);
    }

	rect.x = 0; rect.y = 0; 
    rect.dx = m_device.cxScreen;
    rect.dy = m_device.cyScreen; 
    ISTATIC_SetRect(m_pText, &rect);
	
	ISTATIC_SetText( m_pText, exit, text,
							AEE_FONT_BOLD, AEE_FONT_NORMAL );
	ISTATIC_SetActive(m_pText, true);
    ISTATIC_Redraw(m_pText);
}

void CMainFrame::ClearScreen()
{
    IDISPLAY_ClearScreen (m_pApplet->m_pIDisplay);  // Clear whole screen
}

void  CMainFrame::StartTimers()
{
	SetTimer();
	SetClockTimer();
}

void CMainFrame::SetTimer()
{
    ISHELL_SetTimer(m_pApplet->m_pIShell, m_wTimerInterval, (PFNNOTIFY)(TimerCallback), (void *)this);	
}

void CMainFrame::SetClockTimer()
{
    ISHELL_SetTimer(m_pApplet->m_pIShell, 1000 , (PFNNOTIFY)(ClockTimerCallback), (void *)this);
}


void CMainFrame::CancelTimers()
{
    ISHELL_CancelTimer(m_pApplet->m_pIShell, (PFNNOTIFY)(TimerCallback), (void *)this);
    ISHELL_CancelTimer(m_pApplet->m_pIShell, (PFNNOTIFY)(ClockTimerCallback), (void *)this);
}

void CMainFrame::CancelClockTimer()
{
    ISHELL_CancelTimer(m_pApplet->m_pIShell, (PFNNOTIFY)(ClockTimerCallback), (void *)this);
}

void CMainFrame::TimerCallback(CMainFrame *pMe)
{
	pMe->m_wFrameCount++;
	pMe->DoGame();
	pMe->SetTimer(); 
}

void CMainFrame::ClockTimerCallback(CMainFrame *pMe)
{
	pMe->SetClockTimer(); 
	if (pMe->m_wTimeLeft)
	{
		pMe->m_wTimeLeft--;
	}
}

void CMainFrame::ClearTmpFile()
{
    IFileMgr *pFileMgr;

	// 打开文件
    ISHELL_CreateInstance(m_pApplet->m_pIShell, AEECLSID_FILEMGR, (void **)&pFileMgr);
	if (pFileMgr == NULL) return;

	// 开始枚举文件
	if (IFILEMGR_EnumInit(pFileMgr, "", FALSE) == SUCCESS)
	{
		FileInfo pInfo;
		char szPrefix1[] = {'t', 'e', 'm', 'p', '\0'};
		
		while (IFILEMGR_EnumNext(pFileMgr, &pInfo))
		{
			char * lpName = pInfo.szName;

			// 比较前缀“temp”
			if (STRNICMP(lpName, szPrefix1, 4) == 0)
			{
				IFILEMGR_Remove(pFileMgr, lpName);
			}
		}
	}

    IFILEMGR_Release(pFileMgr);
    pFileMgr = NULL;
}

boolean CMainFrame::LoadMenuImage()
{
	int i = 0;

	m_nPanelPic		= 0;
	m_imgLogo		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_LOGO);
	m_imgLogo1		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_LOGO1);
	// 	m_imgPanelBase	= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_BACK);
	m_imgPanelBase2	= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_BACK2);
	
	m_icon[i++]		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_MENU_JPTJ);
	m_icon[i++]		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_MENU_JPTJ_SEL);
	m_icon[i++]		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_MENU_JCFL);
	m_icon[i++]		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_MENU_JCFL_SEL);
	m_icon[i++]		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_MENU_SEARCH);
	m_icon[i++]		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_MENU_SEARCH_SEL);
	m_icon[i++]		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_MENU_WDSC);
	m_icon[i++]		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_MENU_WDSC_SEL);
	m_icon[i++]		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_MENU_HELP);
	m_icon[i++]		= ISHELL_LoadResImage(m_pApplet->m_pIShell, RES_FILE, BM_MENU_HELP_SEL);


	return TRUE;
}

void CMainFrame::ReleaseImage()
{
	int i = 0;

	if(m_imgLogo1)
		IIMAGE_Release(m_imgLogo1);
	m_imgLogo1 = NULL;
	if(m_imgLogo)
		IIMAGE_Release(m_imgLogo);
	m_imgLogo = NULL;
	/*
	if(m_imgPanelBase)
		IIMAGE_Release(m_imgPanelBase);
	m_imgPanelBase = NULL;
*/
	if(m_imgPanelBase2)
		IIMAGE_Release(m_imgPanelBase2);
	m_imgPanelBase2 = NULL;

	for (i = 0; i < MENU_COUNT * 2; i++)
	{
		if(m_icon[i])
			IIMAGE_Release(m_icon[i]);
		m_icon[i] = NULL;
	}


}

void CMainFrame::ReleaseLogo()
{
	if(m_imgLogo1)
		IIMAGE_Release(m_imgLogo1);
	m_imgLogo1 = NULL;
	if(m_imgLogo)
		IIMAGE_Release(m_imgLogo);
	m_imgLogo = NULL;
}

void CMainFrame::DrawFrame(IImage* img,int x,int y,int count,int index)
{
	if(!img) return;
	int w = GetImageWidth(img) / count;
	IIMAGE_SetDrawSize(img,w,GetImageHeight(img));
	IIMAGE_SetOffset(img,w * index,0);
	IIMAGE_DrawFrame(img,0,x,y);
}

void CMainFrame::DrawPic(IImage *img, int xoff, int yoff)
{
	if (img)
 		IIMAGE_Draw(img, xoff, yoff);
}

void CMainFrame::HtmlViewerNotify(CMainFrame *cm, HViewNotify *phvn)
{
	short resid;
	
	switch(phvn->code){
	case HVN_JUMP:
		if(0 == STRCMP(phvn->u.jump.pszURL,"_exit")){
			cm->m_html.SetRect(NULL);
			cm->m_state = GS_MENU;
		}else{
			if(0 == STRCMP(phvn->u.jump.pszURL,"HELP_TOP"))				resid = TEXT_HELPTOP;
			else if(0 == STRCMP(phvn->u.jump.pszURL,"HELP_BASIC"))		resid = TEXT_HELPBASIC;
			else if(0 == STRCMP(phvn->u.jump.pszURL,"HELP_QUESTION"))	resid = TEXT_HELPQUESTION;
			else if(0 == STRCMP(phvn->u.jump.pszURL,"HELP_PLAY"))		resid = TEXT_HELPPLAY;
			else if(0 == STRCMP(phvn->u.jump.pszURL,"HELP_ABOUT"))		resid = TEXT_HELPABOUT;
			else														resid = 0;
			
			cm->m_nHelpCurrent = resid;
			
			if(resid != 0){
				cm->m_html.LoadResStringAndParseBuffer(RES_FILE,resid);
			}
		}
		break;
	}
}

⌨️ 快捷键说明

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