本站动态:

Tag: brew预览模式: 普通 | 列表

BUIW中的HTMLWidget

在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的提前结束。

查看更多...

Tags: buiw HTMLWidget brew

分类:brew开发 | 固定链接 | 评论: 2 | 引用: 0 | 查看次数: 1392

char pFilePath[30] = {0}; 
………………
if (0 == *(int*)pFilePath) 
………………

看看上面的 if 语句在判断什么,干嘛用的,它存在什么问题。

查看更多...

Tags: brew 判断空字符串 宕机

分类:代码应用 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 1180

Brew中的Module的实现方法

在Brew中,I是Interface(接口)的意思,如IModule,IShell。IBase提供了AddRef和Release的方法,其他接口均继承自IBase,使每个接口都具有类COM的功能。与C++不同的是,Brew的继承只是方法(函数)的继承,并没有数据的继承。Brew的继承只能够是单向链式的继承,即一个接口不能够同时继承其他多个接口,但可以一级一级继承,如IRootForm->IForm->IHandler->IQueryInterface->IBase(->是继承自的意思,右边的是父亲,左边的是孩子)。这些所谓的继承,实际上也只是使用宏定义实现的结构体成员的累积定义,即会将“父类”的所有方法(函数指针成员)放在结构体的前面,再在后面添加自己的方法(函数指针成员),来实现“子类”具有“父类”全部方法的功能。

查看更多...

Tags: brew IModule Module Interface 继承 类模拟 接口 方法 成员 函数 派生

分类:brew开发 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2046

关于内存的申请和使用

其实malloc只需要你告诉它你需要malloc多少个字节的内存空间,至于这个内存空间malloc出来之后你会干什么,它并不知道,也不去管。参数中多使用sizeof来计算,这样不管什么样的环境(如不同的cpu,不同的结构体对齐方式)都可以高枕无忧。我要说的是,malloc很老实,你让它给你分配多少个字节的内存空间,它就会给你分配多少个字节的连续的内存空间,除非内存不足。它的返回值类型是void*,也就是说,你可以随便转化,甚至可以决定使用这块内存的哪一部分(比如为了判断内存有没有越界,在分配时故意多分配两个字节,最前面一个字节和最后面一个字节不真正使用,而放一个特殊的值,用以校验),也可以把这块内存分成好几个小块来使用,比如前面一块放普通的数据,后面的一块放函数指针(或倒过来),规则是右你来定的,只要你在使用过程中一直遵守这样的规则就好。

查看更多...

Tags: 动态申请 malloc 内存分配 内存使用 brew IModule 强制转化

分类:C/C++ | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 1289

[翻译]Root Form的作用

这是brew在头文件提供的说明,本人简要翻译了一下,并提供原文。

查看更多...

Tags: brew buit buiw Rootform IRootform Form

分类:brew开发 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1611