我想实现这样一个功能,在Edit中有一个很长的文本,我写了一个OnTimer时间
SetTimer(1,1500,NULL); 
在OnTimer中做了
CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT1);
m_text.LineScroll(1, 0);现在我想实现,当文本内容现在到最后的时候弹出一个对话框提示,并结束OnTimer,
但问题是,我不知道怎么去判断Edit到了最后
请高人指点

解决方案 »

  1.   

    自己的问题,自己来回答一个办法,用GetLineCount,可以得到总的文本行数,让后每次OnTimer用一个计数器去累加,当两个相等关闭OnTimer
    还有人有更好的解决办法吗
      

  2.   

    试试 EM_LINEINDEX + EM_SCROLLCARET 
    滚动前调用 EM_LINEINDEX 领取当前行, 滚动后再领取一次出来, 假如值相等, 代表到结尾了或者在 LineScroll 之前, 先调用 GetScrollPos 记录下当前的滚动位置
    调用后再调用一次GetScrollPos, 判断一下位置有没有更改, 没有更改代表已经结束了