使用CEdit控件我已经可以实现两个EDIT同步滚动,使用的是linescroll方法,但是换成richedit控件,linescroll水平滚动只能用发送消息的办法代替,垂直滚动看起来很不连贯,比如当我拖动scrollbar时,两个并不能做到时事同步。更为严重的是,当我选中richedit里面的内容一直往下拉,richedit也滚动了,但是捕捉不到这个事件。请问这些问题该如何解决,弄了好几天了,希望高手能指点一下,提供一下思路
解决方案 »
- 用Socket获取html,HTTP头信息问题
- GetProcessAddress返回NULL的问题
- 调用getopenfilename函数后得到了文件名,但是文件所在的文件夹被占用了
- 经验问题,多线程中如何灵活使用定时器?
- DoModal()返回后窗口类的数据还存在吗?
- 求助:CString对象的属性框出不开,其他类型的也是如此。但前几天定义的对象的属性框正常
- 如何屏蔽2000下的热键?
- 我有一个变量,只在程序起动时初始化一次,怎么才能做数组的维数呢。
- subclass后的问题
- C++连接数据库(ODBC句柄)怎么用?求详解
- windows默认音频设备修改问题!!
- 多线程及IO同步操作问题:
class CMyDlg : public CDialog
{
...
CMyRichEditCtrl m_richEdit1;
CRichEditCtrl m_richEdit2;
...
}
class CMyRichEditCtrl : public CRichEditCtrl
{
...
CMyDlg* m_parent;
...
}
void CMyRichEditCtrl::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
int nFirstVisible = GetFirstVisibleLine();
if (nFirstVisible >= 0&&m_parent)
{
int nFirstVisible2 =m_parent->m_richEdit2.GetFirstVisibleLine(); m_parent->m_richEdit2.LineScroll(nFirstVisible-nFirstVisible2, 0);
}
CRichEditCtrl::OnVScroll(nSBCode, nPos, pScrollBar);
}
选中richedit里面的内容一直往下拉,Scroll也滚动了但是捕捉不到任何消息
不过没关系没消息我自己发就是了至少可以获得滚动条的trackpos、、、
我自己产生wm_Vscroll试试