<P>文本信息</P> 如果文本信息在这个表格中不止一行,我如何确定什么时候分行呢?如果自己写算法分行,也有点问题,因为表格得到的宽是像素单位,而字符如果要跟像素单位换算的话必须要去得每种字体所在的像素值,这样就比较复杂了。msHTML DOM是否提供这样的接口呢?谢谢

解决方案 »

  1.   

    好不容易找到你的帖子,下面是我给你的例子,你自己再好好看看:
    tag=SysAllocString(L"br");
    IHTMLElement *pElementBr;
    pHtmlDoc2->createElement(tag,&pElementBr);
    IHTMLDOMNode *pNewBrNode;
    if (S_OK!=pElementBr->QueryInterface(IID_IHTMLDOMNode,(void **)&pNewBrNode)) 
        return;希望对你有帮助!
      

  2.   

    分行不属于内容,属于CSS的事儿,给表格赋CSS值,让它自动分行。
      

  3.   

    to shubing820904()
    你这样得到的前提条件是需要html中有<BR>标签,但是我的情况是没有这样的标签。
     eduyu(杜宇) 说的不错。这里分行似乎是ie来实现自动分行的,css只给出了是否需要自动分行这样的信息,并没有具体的分行信息。
    看来我是要自己来写个分行的算法了。但是有人能告诉我px这个单位跟字符是怎样换算关系吗?
      

  4.   

    比如像这样 <P>中华大地,山川秀丽,数千年来,在这片土地上,流传着无数的神奇传说。千古以来,一直被人们津津乐道的便是那些关于长生不老,永生不死的传奇。自古以来,凡人无不有一死。但世人皆恶死爱生,更有地府阎罗之说,平添了几分苦惧,在此之下,遂有长生不死之说,令世人梦寐以求,纷纷苦寻长生之路。<SPAN 
          class=transparent>(来自·幻剑书盟)</SPAN></P>
     里面根本没有<BR>标签。
    但是在html中的表单中却是分行的。可能会出现很工整的排列。
      

  5.   

    IE的CSS实现本来就包含了分行算法,你只要赋值CSS就可以分行了,楼主为何还要写分行算法?
    一个HTML元素的大小可以用px,pt,em的单位来表示,你指定字符是多少个px,这个字符就是多少个px的长和宽。
      

  6.   

    IE的CSS实现本来就包含了分行算法。这个只是在css的实现过程中用到了分行算法。但是我如何提取文本后却不是在这样的环境下来分行的。所以也无法用这个现有的算法
      

  7.   

    哦,原来这样。DPI(或者PPI,pixel per inch)是系统设定的,可以通过函数得到,一般是96象素每英寸,字体的每点长大约1/72 英寸。这样就可以把字体的大小很容易换算到pixel了。
      

  8.   

    你指定字符是多少个px,这个字符就是多少个px的长和宽。
    这句话应该有问题的。W 跟a会占同样的长和宽吗?明显不是。
    网页中字母宽度不是都对齐的
      

  9.   

    谢谢 eduyu(杜宇) 
    我明白了。看来现在也只能这样做了。
      

  10.   

    你打开个英文网页对照下,明显不一样的。除非你说的是某种特定字体。
    就拿http://www.google.com/ 来说吧。看到下面的Make Google Your Homepage!了吗?
    Home对上去是About,看上去Home的四个字母跟About的五个字母却是对齐的,这应该说明不同字母所占的像素是不一样的吧