goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

IHTMLVIEWERの具体的な使い方(+1)画面の設定部分をちょっとまとめました。

2006-09-23 17:19:38 | ケータイ

シリーズIHTMLVIEWERの具体的な使い方の番外編(プラスワン)です。

 いままで、各画面の初期化(gamen1_InitAppData)するとき、画面項目の種類を入れたり、いろんな関数を呼んで、ちと、面倒な形になっていたので、そこをまとめました。
 具体的には
・表示するHTML文から、入力項目の数と種類を取り出す関数をつくって
(IHTMLCTL_GetItemKind)

・データの設定表示部分を、一つにまとめました。
 (IHTMLCTL_SetDispData)

それにより、画面の表示部分(gamen1_InitAppData)は、以下のような関数になります。
/*==================================*/
//	関数名:gamen1_InitAppData	//
//	内容 :領域確保・描画	//
/*==================================*/
boolean gamen1_InitAppData(testhtml1* poya)
{
	char		*fdata;
	gamen1		*pMe;

	//==========================================//
	//	領域確保			        //
	//==========================================//
	pMe	=	(gamen1 *)MALLOC(sizeof(gamen1));
	if (pMe	==	NULL )
	{
		return	FALSE;
	}
	//	アプリ領域へ設定
	poya->garea	=	(void *)pMe;
	poya->gno	=	1;

	//	初期設定
	pMe->phc		=	NULL;
         pMe->pIDisplay	= poya->pIDisplay;
         pMe->pIShell	= poya->pIShell;

	//==========================================//
	//	表示するHTMLファイルの取得       //
	//==========================================//
	fdata = IHTMLCTL_GetDispFileData(pMe->pIShell,"gamen1.htm");
	if (fdata	==	NULL )
	{
		return	FALSE;
	}


	//==========================================//
	//	HTMLViewer生成		       //
	//==========================================//
	//	読み込んだfdataをHTMLViewerに設定する
	if ( (pMe->phc = IHTMLCTL_Create(pMe->pIShell,pMe->pIDisplay))
                       	==	NULL )
	{
		FREEIF(fdata);
		return	FALSE;
	}

	//==========================================//
	//	HTMLViewerデータ設定            //
	//==========================================//
	if ( IHTMLCTL_SetDispData(pMe->phc,fdata)	!=	TRUE)
	{
		FREEIF(fdata);
		return	FALSE;
	}

	//==========================================//
	//	HTMLViewer表示・メモリ解放      //
	//==========================================//
	FREEIF(fdata);
	gamen1_DispAppData(pMe);
    return TRUE;
}

(上記< > ¥は、本当は半角です)

結果として全部のソースは、こんな感じになります。
・アプリで1つだけ持っていればいいもの testhtml1.c testhtml1.h
・1画面ごとに必要なもの gamen1.c gamen1.h
・IHTMLVIEWER共通関数 IHtmlCtl.c IHtmlCtl.h

以上、ご報告でした!


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 「グーグルブックサーチ日本... | トップ | 2ちゃんねるの「ひろゆき」... »
最新の画像もっと見る

ケータイ」カテゴリの最新記事