对RICHEDITCTRL进行排版,假设要排版的文字同一种字体
1.如何知道RICHEDITCTRL可视面积内可以容纳多少行?
2.实现以下排版,请指教
                      season ticket    季票,长期票
                         seasonable    adj.合时宜的
                           seasonal    adj.季节的,季节性的,周期性的节的,季节性的,周期性的
                                       一年中重复的.
                          seasoning    n.调味品,调料
                            seawall    n.防波堤,海堤
                            seaward    adj.朝海的 adv.向海的,向海一边
                             seaway    n.海上航道
                            seaweed    n.海草,海藻
                          seaworthy    adj.适用于航海的,经得起风浪的
3,如何只有少数几行,那要保证上下居中,如:                            seaweed    n.海草,海藻谢谢

解决方案 »

  1.   

    1。CRichEditCtrl::GetLineCount()
    CRichEditCtrl::GetFirstVisibleLine()
      

  2.   

    我的意思是一个空白的RICHEDITCTRL,怎么样得出其可容纳多少行?这样我好安排要插入的内容上下居中
      

  3.   


    CRect rc;GetClientRect(&rc); CDC    *dc = GetDC();
    TEXTMETRIC tm; dc->GetTextMetrics(&tm);
    ReleaseDC(dc); int nLineCount = rc.Height() / tm.tmAscent;
      

  4.   

    本来应该排版成:
                    一滴, 水滴, 斑点  blob
                          笨蛋, 蠢材  boob
                         滴,一滴水珠  glob
              "口"懒汉, 邋遢鬼, 烂泥  slob
                    势利的人, 假内行  snob
    但运行效果却是
              一滴, 水滴, 斑点  blob
                          笨蛋, 蠢材  boob
                         滴,一滴水珠  glob
              "口"懒汉, 邋遢鬼, 烂泥  slob
                    势利的人, 假内行  snob
    这是什么原因呢?