一个带有multiline选项的CEdit框如何在框里面没有字符的情况下设置垂直的滑动条可以拉动,就好像里面有几百行文字一样?如何去掉框里面的 一个带有multiline选项的CEdit框1、如何在框里面没有字符的情况下设置垂直的滑动条可以拉动,就好像里面有几百行文字一样?2、如何去掉框里面的光标? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CWnd类里面有 Scrolling Functions ,滚动条操作函数.你可以看一看,CEDIT是从CWND派生的,因此一样游泳. 可以用这些函数设置CEDIT内建的滚动条的各种属性. 2、如何去掉框里面的光标?设置 READONLY 属性的话不久没有光标了? 感谢2位,但是1,用scroll设置但是没出现滑动条2,设置成readonly属性一样会出现光标 1.调用ShowScrollBar() :Displays or hides a scroll bar. 2. 那,试试 EnableWindow(FALSE); 1.错了,应该是 EnableScrollBar() To: everandforever(Forever) 感谢,俺试试! 1:BOOL CAboutDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here CWnd* pEdit=GetDlgItem(IDC_EDIT1); SCROLLINFO si; si.cbSize=sizeof(SCROLLINFO); si.fMask=SIF_ALL; si.nMax=1000; si.nMin=0; si.nPage=100; si.nPos=0; pEdit->SetScrollInfo(SB_VERT,&si); return TRUE; }2:处理edit的WM_SETFOCUS消息,直接返回,不要调用基类函数。 webber84(糕鱼昏) 高,实在是高!!! to: everandforever(Forever)、 webber84(糕鱼昏) 感谢二位,用一下方法可以出现滚动条但是条已经充满了滑动的地方,无法上下滑动了,请二位再不吝赐教。 CWnd* pEdit=GetDlgItem(IDC_EDIT1); SCROLLINFO si; si.cbSize=sizeof(SCROLLINFO); si.fMask=SIF_ALL; si.nMax=1000; si.nMin=0; si.nPage=100; si.nPos=0; pEdit->SetScrollInfo(SB_VERT,&si);pEdit->EnableScrollBar(SB_VERT,ESB_ENABLE_BOTH); pEdit->EnableScrollBar(SB_VERT,ESB_ENABLE_BOTH);CWnd* pEdit=GetDlgItem(IDC_EDIT1);SCROLLINFO si;si.cbSize=sizeof(SCROLLINFO);si.fMask=SIF_ALL;si.nMax=1000;si.nMin=0;si.nPage=100;si.nPos=0;pEdit->SetScrollInfo(SB_VERT,&si);_____如果还是不行,试试去掉EDIT的VERTICAL SCROLL,和AUTO_VSCROLL属性. to:everandforever(Forever) 谢谢,我再试试 to:everandforever(Forever) EDIT的属性里面选上vertical scroll属性、去掉auto vscroll属性的时候,滑动条出现了,但是拉动条之后此条就消失了,我程序的企图是再一个对话框上面的edit框(多行属性)上绘图,由于绘图超过了一页的幅面但是edit编辑框没有出现滑动条,我想手动让他出来,原以为只要滑动条出来就可以使用滑动条使下面绘的图形可见了,但是滑动条点了之后没有实现我的想法,我该怎么做才能实现这样的功能?多谢了! 应该是EDIT的内部处理把SCROLL给恢复了. 如果你非要在EDIT上绘图的话, 我想你应该替换调EDIT内建的SCROLL BAR(CWND类内建的SCROLLBAR,CEDIT从CWND类继承). 然后在EDIT内部处理ONVSCROLL()(WM_VSCROLL消息.)这里有个替换内建SCROLLBAR的例子:http://msdn.microsoft.com/msdnmag/issues/01/11/c/c0111.asp to:everandforever(Forever) 哥们,非常谢谢你,我感觉问题变得复杂了,恐怕超出了目前贴子的范围,我准备另开贴子来问这个问题,谢谢你的回答和帮助,衷心的感谢。 新线程跑实例方法 MFC richedit添加右键菜单详细解答 GetOpenFileName函数造成死机? 请教如何制作windows优化大师风格的伸缩菜单? DLL中传参数为何产生未处理异常 怎样得到对话框中的成员 管理员帮忙 急!! vc下实现数据采集程序 南京哪儿可以买到c++ primer中文版? Microsoft Studio.net现在出正式版了没有? 为什么TreeCtrl显示值总是"8"? 大家幫忙,我忘了98下恢復注刪表的命令和參數是什麼(???/restore???) 寻找win32编写的tooltip示例程序,不是MFC的
设置 READONLY 属性的话不久没有光标了?
1,用scroll设置但是没出现滑动条
2,设置成readonly属性一样会出现光标
2. 那,试试 EnableWindow(FALSE);
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
CWnd* pEdit=GetDlgItem(IDC_EDIT1);
SCROLLINFO si;
si.cbSize=sizeof(SCROLLINFO);
si.fMask=SIF_ALL;
si.nMax=1000;
si.nMin=0;
si.nPage=100;
si.nPos=0;
pEdit->SetScrollInfo(SB_VERT,&si);
return TRUE;
}
2:处理edit的WM_SETFOCUS消息,直接返回,不要调用基类函数。
CWnd* pEdit=GetDlgItem(IDC_EDIT1);
SCROLLINFO si;
si.cbSize=sizeof(SCROLLINFO);
si.fMask=SIF_ALL;
si.nMax=1000;
si.nMin=0;
si.nPage=100;
si.nPos=0;
pEdit->SetScrollInfo(SB_VERT,&si);
pEdit->EnableScrollBar(SB_VERT,ESB_ENABLE_BOTH);
SCROLLINFO si;
si.cbSize=sizeof(SCROLLINFO);
si.fMask=SIF_ALL;
si.nMax=1000;
si.nMin=0;
si.nPage=100;
si.nPos=0;
pEdit->SetScrollInfo(SB_VERT,&si);_____
如果还是不行,试试去掉EDIT的VERTICAL SCROLL,和AUTO_VSCROLL属性.
谢谢,我再试试
这里有个替换内建SCROLLBAR的例子:
http://msdn.microsoft.com/msdnmag/issues/01/11/c/c0111.asp
哥们,非常谢谢你,我感觉问题变得复杂了,恐怕超出了目前贴子的范围,我准备另开贴子来问这个问题,谢谢你的回答和帮助,衷心的感谢。