SDI 程序,基类为CView,要在视图上显示最少50000行数据,现准备自己创建垂直滚动条,自己驱动滚动条,如何实现。或者有更好的方法也行。有源码或例子更好。如何解决这个问题?
解决方案 »
- 为什么编译通不过
- 请教VB6.0 VC++6.0 SQL SERVER 2000 OFFICE2003 VS2008的安装顺序。
- 怎么捕获线程中止消息
- 哪位大哥能帮我看看这段代码错误出在哪了?很简单的,必高分重谢,在线等!!急急!!!
- 运用CNewMenu类后,如何动态更改菜单?
- 想写一个windows弱口令扫描的程序,是不是要用WNetAddConnection2函数?速度好慢啊,如何解决?
- 1000分求图片保存代码~~~
- 一个新网站欢迎大家提意见http://www.hrbhome.net
- 请问C/S客户端登录服务器的流程是什么,连接服务器怎么通过用户名密码验证身份
- 请教两个关于MAPI的问题
- 求助 ! 在那里可以找到,截获数据包的程序啊
- 在VC中,调用外部程序后又关闭外部程序,如何得知外部程序已经关闭
OnHScroll何必自己来呢,用CScrollView多好的
我的代码:
int CDNAView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
CRect crect;
GetClientRect(&crect); VERIFY(m_scrollBar.Create(
SBS_VERT | SBS_RIGHTALIGN | WS_CHILD , CRect(0,0,756,429),this,10)); m_scrollBar.ShowScrollBar(); return 0;
}
void CDNAView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
int lt,tp,rt,btm;
CRect rect;
GetClientRect(&rect); lt = rect.left;
tp = rect.top;
rt = rect.right;
btm = rect.bottom;
m_scrollBar.MoveWindow(rt,tp,5,btm);//这句注释掉,滚动条在窗口刚创建时能显示,加上后滚动条就没有了
}
如何解决这个问题?有例子吗?
要显示至少50000行数据,CScrollView 视图区右下角y坐标超过32767就画不出来了。
你说用CScrollView 怎么结决?
子类化滚动条。
在两端加几个按钮之类的东西来控制快进,多翻几页等能给点代码吗?我写了点代码,窗口大小改变时就不能显示了。
{
CView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
if (m_scrollBar.GetSafeHwnd())
m_scrollBar.MoveWindow(cx - 5, 0, cx, cy);你的坐标计算错误。