本站动态:
BUIW中的HTMLWidget
作者:shosh 日期:2009-02-18
在BREW UI的开发中,很少会用到HTMLWidget。它本该在浏览器等程序中使用到,不过现在需要让一个提示FORM能够显示图文混排的效果,从而想到了使用HTMLWidget。第一次使用,当然想测试测试它对HTML的支持情况了。

对应的HTML代码在宏HTMLSTR中定义:
#define HTMLSTR "<font color=green>hello</font>,<img src=fs:/bad.gif> \
<b>Sh<font color=red>o</font>sh</b>,<br> <img src=fs:/test.bmp> \
<font color=blue size=6>wel</font><font color=red>com<sup>e</sup></font><i>!</i><br> \
<input type=text value=enter><input type=button value=yes size=4>"
从效果来看,还是有很多是不能够支持的,比如斜体,比如sup等(另外css一点也不支持)。并且因为sup的开始导致font的提前结束。
而图片,虽然有显示,但是不是我所指定的图片。看来HTMLWidget是支持图片的显示的,只是不认fs这样的URL(在brew中,都是用“fs:/”去访问efs中的文件的)。
在IE浏览器的显示效果为(将图片路径设置正确后):

测试代码为:
- do
- {
- IModel *pDocModel = NULL;
- int nNumWritten = 0;
- pMe = (CalcMainForm*) MALLOC(sizeof(CalcMainForm));
- BREAKIFNULL_FATAL(pMe,"Fail: %d");
- ISHELL_AddRef(pIShell);
- pMe->pIShell = pIShell;
- ISHELL_CreateInstance(pMe->pIShell, AEECLSID_HTMLWIDGET, (void**)&pMe->pHTMLWidget);
- #define HTMLSTR "<font color=green>hello</font>,<img src=fs:/bad.gif> \
- <b>Sh<font color=red>o</font>sh</b>,<br> <img src=fs:/test.bmp> \
- <font color=blue size=6>wel</font><font color=red>com<sup>e</sup></font><i>!</i><br> \
- <input type=text value=enter color=#358879><input type=button value=yes size=4>"
- IWIDGET_GetModel(pMe->pHTMLWidget, AEEIID_DOCMODEL, (IModel **)(void **)&pDocModel);
- if (NULL != pDocModel)
- {
- IDOCMODEL_Write(pDocModel, HTMLSTR, STRLEN(HTMLSTR), &nNumWritten);
- DBGPRINTF("nNumWritten = %d", nNumWritten);
- IDOCMODEL_WriteTerminate(pDocModel);
- }
- ISHELL_CreateInstance(pMe->pIShell,AEECLSID_Q_FORM,(void**)&pMe->pIForm);
- IFORM_SetWidget(pMe->pIForm, WID_FORM, pMe->pHTMLWidget);
- /*
- HANDLERDESC_Init(&pMe->CalcMainFormHandler,
- CalcMainForm_HandleEvent,
- pMe,
- CalcMainForm_Free);
- //Setting the handler for the Form//
- IFORM_SetHandler(pMe->pIForm,&pMe->CalcMainFormHandler);
- bHandlerSet = TRUE;
- */
- *ppObj=pMe->pIForm;
- } while (FALSE);
文章来自: Shosh原创
Tags: buiw HTMLWidget brew
相关日志:
回复
]如果没有接触手机开发或没有接触BREW,没看明白是很正常的。
上一篇
下一篇







