如何让CEdit控件 既设置了ES_AUTOHSCROLL风格,同时又禁止他自动滚动

ontheline 2009-12-23 05:27:45
这个问题似乎有点矛盾,是这样的,
我需要CEdit一行行出入文本,不想让他自动换行,所以设置了ES_AUTOHSCROLL风格,但是同时我又不想让选中一行文本的时候自动滚动,应该怎么办呢,请教大家帮忙
...全文
308 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ontheline 2009-12-24
  • 打赏
  • 举报
回复
还是没人回答吗,我不想换控件啊,因为程序很大,只能用CEdit控件来实现
cnzdgs 2009-12-23
  • 打赏
  • 举报
回复
把Edit控件换成Static控件。
ontheline 2009-12-23
  • 打赏
  • 举报
回复
CEdit里面选中一行只能直接修改鼠标单击事件,然后SetSel,其他想不到什么好办法

另外我试过了 ::SetWindowLong(GetSafeHwnd(), GWL_STYLE, GetExStyle() | ~ES_AUTOHSCROLL);

SendMessage(ES_AUTOHSCROLL,SB_LEFT,0);
没用,请大家帮忙
ontheline 2009-12-23
  • 打赏
  • 举报
回复
void COleRichEditCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
CRichEditCtrl::OnLButtonDown(nFlags, point);
// TODO: Add your message handler code here and/or call default
long nStartChar, nEndChar;
GetSel(nStartChar,nEndChar);
int index,index_begin;
index=LineFromChar(nStartChar);
index_begin=LineIndex(index);
SetSel(index_begin,LineLength(index_begin)+index_begin);

}
这是我的选中代码
ontheline 2009-12-23
  • 打赏
  • 举报
回复
是这样的,我的CEdit控件是用来显示Message Log的,只能一行行显示,这样就必须设置Multiline属性,但是我又不想让他自动换行,就像UltraEdit里面的实现一样
sandyandy 2009-12-23
  • 打赏
  • 举报
回复
重写选中的代码
J_act 2009-12-23
  • 打赏
  • 举报
回复
不想自动换行的话就一行不就完了?
healer_kx 2009-12-23
  • 打赏
  • 举报
回复
截获鼠标滚轮事件,我猜的。。。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧