亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ihtmlviewerdemo.c

?? brew開發與入門的第五章原代碼,均可運行,請放心使用
?? C
字號:
 /*===========================================================================

FILE: IHtmlviewerdemo.c
===========================================================================*/


/*===============================================================================
INCLUDES AND VARIABLE DEFINITIONS
=============================================================================== */
#include "AEEModGen.h"          // Module interface definitions
#include "AEEAppGen.h"          // Applet interface definitions
#include "AEEShell.h"           // Shell interface definitions
#include "AEEHTMLViewer.h"
#include "AEEFILE.h"
#include "AEEStdlib.h"

#include "IHtmlviewerdemo.bid"

#define MaxChar 2000

//define my own structure
typedef struct _htmldemo
{
	AEEApplet a;
    IHtmlViewer * html;
    IFile * file;
	IFileMgr * file_mgr;
}MyHtmldemo;
/*-------------------------------------------------------------------
Function Prototypes
-------------------------------------------------------------------*/
static boolean IHtmlviewerdemo_HandleEvent(IApplet * pi, AEEEvent eCode, 
                                      uint16 wParam, uint32 dwParam);

/*===============================================================================
FUNCTION DEFINITIONS
=============================================================================== */

/*===========================================================================

FUNCTION: AEEClsCreateInstance

DESCRIPTION
	This function is invoked while the app is being loaded. All Modules must provide this 
	function. Ensure to retain the same name and parameters for this function.
	In here, the module must verify the ClassID and then invoke the AEEApplet_New() function
	that has been provided in AEEAppGen.c. 

   After invoking AEEApplet_New(), this function can do app specific initialization. In this
   example, a generic structure is provided so that app developers need not change app specific
   initialization section every time except for a call to IDisplay_InitAppData(). 
   This is done as follows: InitAppData() is called to initialize AppletData 
   instance. It is app developers responsibility to fill-in app data initialization 
   code of InitAppData(). App developer is also responsible to release memory 
   allocated for data contained in AppletData -- this can be done in 
   IDisplay_FreeAppData().

PROTOTYPE:
   int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * po,void ** ppObj)

PARAMETERS:
	clsID: [in]: Specifies the ClassID of the applet which is being loaded

	pIShell: [in]: Contains pointer to the IShell object. 

	pIModule: pin]: Contains pointer to the IModule object to the current module to which
	this app belongs

	ppObj: [out]: On return, *ppObj must point to a valid IApplet structure. Allocation
	of memory for this structure and initializing the base data members is done by AEEApplet_New().

DEPENDENCIES
  none

RETURN VALUE
  AEE_SUCCESS: If the app needs to be loaded and if AEEApplet_New() invocation was
     successful
  EFAILED: If the app does not need to be loaded or if errors occurred in 
     AEEApplet_New(). If this function returns FALSE, the app will not be loaded.

SIDE EFFECTS
  none
===========================================================================*/
int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * po,void ** ppObj)
{
   *ppObj = NULL;
		
   if(ClsId == AEECLSID_IHTMLVIEWERDEMO){
      if(AEEApplet_New(sizeof(MyHtmldemo), ClsId, pIShell,po,(IApplet**)ppObj,
         (AEEHANDLER)IHtmlviewerdemo_HandleEvent,NULL)
         == TRUE)
      {
		 // Add your code here .....

         return (AEE_SUCCESS);
      }
   }
	return (EFAILED);
}

/*===========================================================================

FUNCTION IHtmlviewerdemo_HandleEvent

DESCRIPTION
	This is the EventHandler for this app. All events to this app are handled in this
	function. All APPs must supply an Event Handler.

PROTOTYPE:
	boolean IHtmlviewerdemo_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)

PARAMETERS:
	pi: Pointer to the AEEApplet structure. This structure contains information specific
	to this applet. It was initialized during the AEEClsCreateInstance() function.

	ecode: Specifies the Event sent to this applet

   wParam, dwParam: Event specific data.

DEPENDENCIES
  none

RETURN VALUE
  TRUE: If the app has processed the event
  FALSE: If the app did not process the event

SIDE EFFECTS
  none
===========================================================================*/
static boolean IHtmlviewerdemo_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{  
	MyHtmldemo * pMe = (MyHtmldemo*)pi;
	
	const char char1[] = "help.htm";
	char char2[MaxChar];
	AEERect rect;
	AEEDeviceInfo bi;
	AEEFileInfo file_info;

	switch (eCode) 
	{
      case EVT_APP_START:                        
		  //create the htmlviewer pointer
	      if (ISHELL_CreateInstance(pMe->a.m_pIShell,AEECLSID_HTML,(void**)&(pMe->html)) != SUCCESS) 
		  {
		      return FALSE;
		  }
		  //create the Filelmanager pointer
	      if (ISHELL_CreateInstance(pMe->a.m_pIShell,AEECLSID_FILEMGR,(void**)&pMe->file_mgr) != SUCCESS) 
		  {
		      return FALSE;
		  }
   		  //clear the screen
 		  IDISPLAY_ClearScreen(pMe->a.m_pIDisplay);

		  //set the File pointer
		  if ((pMe->file = IFILEMGR_OpenFile(pMe->file_mgr, char1, _OFM_READ)) ==NULL)
			  return FALSE;
		  
		  //get the fileinfo
		  IFILE_GetInfo(pMe->file, &file_info);
		  //read the file,first fill the target with 0.
          //MEMSET(char2 , 0 , sizeof(char2));
		  if (IFILE_Read(pMe->file, char2, file_info.dwSize) == 0)   
			  return FALSE;
		  char2[file_info.dwSize] = '\0';

          //set the rect
		  rect.x = 0;
		  rect.y = 0;
		  //get divice info
  		  ISHELL_GetDeviceInfo(pMe->a.m_pIShell,&bi);
		  rect.dx = bi.cxScreen;
		  rect.dy = bi.cyScreen;
		  IHTMLVIEWER_SetRect(pMe->html,&rect); 
          //set the data to the html control 
		  IHTMLVIEWER_SetData(pMe->html, char2, -1); 
		  //IHTMLVIEWER_ParseBuffer(pMe->html,char2);
		  //set property
		  IHTMLVIEWER_SetProperties(pMe->html,HVP_SCROLLBAR);
          //redraw
 		  IHTMLVIEWER_Redraw(pMe->html);

		  IHTMLVIEWER_SetActive(pMe->html,TRUE);
		  IDISPLAY_Update(pMe->a.m_pIDisplay);

      	  return(TRUE);

      case EVT_APP_STOP:

		  // release the pointer
		  if (pMe->html) {
			  IHTMLVIEWER_Release(pMe->html);
		  }
		  if (pMe->file_mgr) {
			  IFILEMGR_Release(pMe->file_mgr);
		  }
		  if (pMe->file) {
			  IFILE_Release(pMe->file);
		  }
         return TRUE;

	  case EVT_KEY:

		  if (IHTMLVIEWER_HandleEvent(pMe->html,eCode,wParam,dwParam))
			  return TRUE;


      default:
         break;
   }
   return FALSE;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产麻豆91精品| 99精品1区2区| 国产精品久久久久久妇女6080| 91免费看`日韩一区二区| 午夜精品福利一区二区蜜股av| 久久久久9999亚洲精品| 在线观看日产精品| 成人在线视频首页| 麻豆精品视频在线| 亚洲最快最全在线视频| 国产亚洲精品7777| 精品欧美一区二区三区精品久久| 一本色道久久综合精品竹菊| 国产成人精品亚洲午夜麻豆| 毛片不卡一区二区| 婷婷夜色潮精品综合在线| 亚洲色图19p| 国产精品国产三级国产aⅴ中文| 精品久久久久久久久久久久久久久| 日本韩国精品在线| 成人综合激情网| 国产激情偷乱视频一区二区三区| 免费看欧美美女黄的网站| 亚洲一区二区五区| 亚洲女女做受ⅹxx高潮| 国产精品沙发午睡系列990531| 欧美成人一级视频| 欧美一级高清大全免费观看| 精品1区2区3区| 91黄色免费观看| va亚洲va日韩不卡在线观看| 粉嫩嫩av羞羞动漫久久久 | 91精品国产综合久久久久久久| a4yy欧美一区二区三区| 国产成人午夜电影网| 国产成人综合自拍| 国产成+人+日韩+欧美+亚洲| 国产美女精品在线| 国产精品99久久久久久久女警 | 欧美剧在线免费观看网站| 在线中文字幕不卡| 欧美在线一二三| 欧洲国内综合视频| 欧美色倩网站大全免费| 欧美色电影在线| 欧美裸体一区二区三区| 777xxx欧美| 日韩一区二区在线观看| 欧美不卡一区二区三区| 精品处破学生在线二十三| 久久综合九色综合97婷婷女人| 久久久久国产精品人| 国产亚洲欧洲一区高清在线观看| 国产网红主播福利一区二区| 欧美激情艳妇裸体舞| 亚洲欧美日韩国产另类专区 | 综合激情成人伊人| 亚洲精品国产高清久久伦理二区| 亚洲一区二区在线免费看| 男人的天堂亚洲一区| 美女www一区二区| 国产精品一二三四五| 不卡av电影在线播放| 91国偷自产一区二区三区观看 | 国产一区二区剧情av在线| 成人网页在线观看| 色噜噜狠狠成人网p站| 欧美午夜精品一区二区三区| 欧美一区二区三区视频免费 | 亚洲国产综合色| 丝袜美腿高跟呻吟高潮一区| 国内外成人在线| caoporn国产一区二区| 欧美日韩一区二区在线观看视频| 欧美一级片在线观看| 中文字幕欧美国产| 午夜免费欧美电影| 国产精品一区二区在线看| 91亚洲精品乱码久久久久久蜜桃| 欧美视频一区在线观看| 久久久精品2019中文字幕之3| 亚洲欧美另类图片小说| 免费日韩伦理电影| 99久久99久久精品国产片果冻| 欧美精品日韩精品| 国产日韩精品一区二区浪潮av| 午夜欧美一区二区三区在线播放| 国产成人亚洲综合a∨猫咪| 欧美日韩一区二区在线观看视频 | 欧美一级欧美一级在线播放| 国产精品护士白丝一区av| 秋霞成人午夜伦在线观看| eeuss鲁片一区二区三区 | 成人久久18免费网站麻豆 | 欧美日韩你懂得| 国产色91在线| 日韩一区欧美二区| 99久久久国产精品免费蜜臀| 欧美成人官网二区| 一级做a爱片久久| 成人亚洲精品久久久久软件| 日韩一区二区在线播放| 亚洲午夜久久久久久久久电影网 | 午夜精品福利在线| 97久久精品人人澡人人爽| 欧美精品一区二区三区很污很色的 | 欧美一级二级三级乱码| 亚洲男人都懂的| 粉嫩一区二区三区在线看| 精品国产乱子伦一区| 天堂成人免费av电影一区| 91蜜桃免费观看视频| 国产欧美精品一区aⅴ影院| 热久久一区二区| 欧美日韩一级片在线观看| 亚洲乱码国产乱码精品精的特点| 国产精品91一区二区| 精品少妇一区二区三区在线播放| 亚洲国产视频在线| 91精品福利在线| 亚洲日本中文字幕区| jizz一区二区| 国产精品美女久久久久久久| 国产乱码精品一区二区三区忘忧草| 日韩一卡二卡三卡四卡| 午夜精品久久久久影视| 欧美日韩综合在线| 亚洲黄色片在线观看| 色综合天天综合色综合av| 国产精品久久久久7777按摩| 成人综合婷婷国产精品久久蜜臀 | 精品剧情v国产在线观看在线| 午夜影院在线观看欧美| 欧美浪妇xxxx高跟鞋交| 三级欧美韩日大片在线看| 欧美精品第1页| 日韩中文字幕区一区有砖一区| 欧美写真视频网站| 婷婷成人激情在线网| 欧美精品vⅰdeose4hd| 日韩高清不卡一区二区三区| 日韩一级片在线播放| 蜜桃传媒麻豆第一区在线观看| 在线综合亚洲欧美在线视频| 全部av―极品视觉盛宴亚洲| 精品国一区二区三区| 国产精品99久久久久久久vr| 国产精品久久毛片av大全日韩| aaa欧美日韩| 亚洲黄色小说网站| 欧美精品在线视频| 极品尤物av久久免费看| 久久久久青草大香线综合精品| 国产精品996| 亚洲人成网站在线| 欧美日韩视频第一区| 麻豆精品在线看| 国产欧美日韩麻豆91| 94-欧美-setu| 香蕉乱码成人久久天堂爱免费| 日韩你懂的在线观看| 成人av在线网站| 亚洲综合免费观看高清在线观看| 欧美日韩国产首页在线观看| 免费xxxx性欧美18vr| 久久久美女艺术照精彩视频福利播放| 国产99久久久国产精品| 亚洲靠逼com| 日韩亚洲欧美成人一区| 国产成人综合自拍| 亚洲综合成人在线| 欧美大片拔萝卜| 97久久精品人人做人人爽50路| 天天操天天综合网| 国产偷v国产偷v亚洲高清| 91亚洲精华国产精华精华液| 日韩国产一区二| 欧美国产日韩亚洲一区| 欧美三级中文字| 国产精品一级二级三级| 亚洲一二三四在线观看| 久久亚洲捆绑美女| 在线观看日韩高清av| 国产美女精品人人做人人爽| 亚洲国产wwwccc36天堂| 国产欧美一区二区精品久导航| 日本韩国一区二区三区| 国产在线看一区| 午夜日韩在线电影| 国产精品久线在线观看| 日韩色在线观看| 色吊一区二区三区| 裸体歌舞表演一区二区| 亚洲激情图片一区| 久久精品一区八戒影视| 欧美精品99久久久**| 国产精品1区2区3区在线观看| 亚洲国产精品久久不卡毛片| 国产精品日日摸夜夜摸av| 欧美成人国产一区二区|