如何实现两个滚动条的同步滑动

syyws1208 2011-05-16 10:35:06
就是一个窗口中有两个CListCtrl控件,且均有垂直滚动条;
问题:如何实现移动一个滚动条,另一个滚动条也随之变化?
在线等,有满意答案必结贴!先谢谢各位大哥大姐了
...全文
469 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
syyws1208 2011-05-19
  • 打赏
  • 举报
回复
回复11楼:
谢谢了,不过不是我想要的。
我是想,有两个滑动块,他们的移动是同步的:移动一个后,另一个也跟着移动,并且对应相同的位置,反过来也有
赵4老师 2011-05-17
  • 打赏
  • 举报
回复
一切皆消息
Defonds 2011-05-17
  • 打赏
  • 举报
回复
触发了没有
千杯不醉-sen 2011-05-17
  • 打赏
  • 举报
回复
先添加两个按钮,“启动”和“停止”,再弄两个进度条.

BOOL m_bStart;
BOOL m_bClose;
CWinThread* m_pWndThread;
//构造函数中:
m_bStart = FALSE;
m_bClose = FALSE;
m_pWndThread = NULL;
//添加自定义全局函数
UINT ThreadProc(LPVOID pParam)
{
CMyDlg *pWnd=(CMyDlg *)pParam;
while(!pWnd->m_bClose)
{
if(pWnd->m_bStart)
{
pWnd->m_pgsCtrl1.StepIt();
pWnd->m_pgsCtrl2.StepIt();
Sleep(10);
}
}
return 0;
}
//初始化
m_pgsCtrl1.SetRange(1,100);
m_pgsCtrl1.SetStep(1);

m_pgsCtrl2.SetRange(1,100);
m_pgsCtrl2.SetStep(1);
//添加两个按钮的函数
void CMyDlg::OnButtonStart()
{
// TODO: Add your control notification handler code here
m_bStart = TRUE;

if(m_pWndThread == NULL)
{
m_pWndThread = AfxBeginThread(ThreadProc,
(LPVOID)this,THREAD_PRIORITY_NORMAL,0,0,NULL);
}
}
void CMyDlg::OnButtonStop()
{
// TODO: Add your control notification handler code here
m_bStart = FALSE;
}

可以了,lz试一下,不知道你要的是不是这种。
根据一个变化的位置设置第二个进度条也是一种方法
千杯不醉-sen 2011-05-17
  • 打赏
  • 举报
回复
先添加两个按钮,“启动”和“停止”,再弄两个进度条.

BOOL m_bStart;
BOOL m_bClose;
CWinThread* m_pWndThread;
//构造函数中:
m_bStart = FALSE;
m_bClose = FALSE;
m_pWndThread = NULL;
//添加自定义全局函数
UINT ThreadProc(LPVOID pParam)
{
CMyDlg *pWnd=(CMyDlg *)pParam;
while(!pWnd->m_bClose)
{
if(pWnd->m_bStart)
{
pWnd->m_pgsCtrl1.StepIt();
pWnd->m_pgsCtrl2.StepIt();
Sleep(10);
}
}
return 0;
}
//初始化
m_pgsCtrl1.SetRange(1,100);
m_pgsCtrl1.SetStep(1);

m_pgsCtrl2.SetRange(1,100);
m_pgsCtrl2.SetStep(1);
//添加两个按钮的函数
void CMyDlg::OnButtonStart()
{
// TODO: Add your control notification handler code here
m_bStart = TRUE;

if(m_pWndThread == NULL)
{
m_pWndThread = AfxBeginThread(ThreadProc,
(LPVOID)this,THREAD_PRIORITY_NORMAL,0,0,NULL);
}
}
void CMyDlg::OnButtonStop()
{
// TODO: Add your control notification handler code here
m_bStart = FALSE;
}

可以了,lz试一下,不知道你要的是不是这种。
根据一个变化的位置设置第二个进度条也是一种方法
千杯不醉-sen 2011-05-17
  • 打赏
  • 举报
回复
要update干嘛?自己有消息函数萎缩吗不用呀
滚动条A -> 数字 -> 滚动条B
滚动条B -> 数字 -> 滚动条A
滚动条A <- 数字 -> 滚动条B
我先在用的是linux,没办法帮你写纳。。。
syyws1208 2011-05-17
  • 打赏
  • 举报
回复
还是不行!
有没有实现好的代码,贴出来,学习学习好吗?
我做不出来啊。
ljt3969636 2011-05-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 syyws1208 的回复:]

大哥不行啊,没反应
[/Quote]
你update了没有?
千杯不醉-sen 2011-05-17
  • 打赏
  • 举报
回复
变化:
滚动条A -> 数字 -> 滚动条B //实现同步
千杯不醉-sen 2011-05-17
  • 打赏
  • 举报
回复
给空间添加一个消息,好像叫什么change来着,你自己找一下
syyws1208 2011-05-16
  • 打赏
  • 举报
回复
大哥不行啊,没反应
syyws1208 2011-05-16
  • 打赏
  • 举报
回复
好 ,我去试试
成功后来结贴!
ljt3969636 2011-05-16
  • 打赏
  • 举报
回复
移动时出发事件,在响应里让主窗口设置另一个CListCtrl的pos和这个一样

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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