精华内容
下载资源
问答
  • 对话框的(上下/左右)滚动事件,比如,把一个比较大的对话框放入tab控件的某一页时,就需要添加滚动条。在使用了java和qt等图形界面化的集成开发环境之后,再使用MFC,就会发现,想要让一个对话框滚动是多么麻烦的...

      对话框的(上下/左右)滚动事件,比如,把一个比较大的对话框放入tab控件的某一页时,就需要添加滚动条。在使用了java和qt等图形界面化的集成开发环境之后,再使用MFC,就会发现,想要让一个对话框滚动是多么麻烦的一件事情。下面我记录一下自己在使用MFC对话框自己带的垂直滚动条的过程。

      (1)设置对话框的vertical scrollbar属性为true;

      (2)初始化滚动条,如下:    

    复制代码
     
    void Dlg_WholeTest_Test::initScrollbar()
    {
    SCROLLINFO scrollinfo;
    GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    scrollinfo.nPage=10; //设置滑块大小
    scrollinfo.nMax=75; //设置滚动条的最大位置0--75
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    }
     
    复制代码

      在OnInitDialog函数中调用该初始化函数即可。

      (3)重新实现OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)消息处理函数。

    复制代码
     
    void MyDialog::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)   //对话框的滚动效果
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值

    SCROLLINFO scrollinfo;
    GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    int unit=3;
    switch (nSBCode)
    {
    case SB_LINEUP: //Scroll one line up
    scrollinfo.nPos -= 1;
    if (scrollinfo.nPos<scrollinfo.nMin)
    {
    scrollinfo.nPos = scrollinfo.nMin;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,unit);
    break;
    case SB_LINEDOWN: //Scroll one line down
    scrollinfo.nPos += 1;
    if (scrollinfo.nPos+scrollinfo.nPage>scrollinfo.nMax) //此处一定要注意加上滑块的长度,再作判断
    {
    scrollinfo.nPos = scrollinfo.nMax;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,-unit);
    break;
    case SB_PAGEUP: //Scroll one page up.
    scrollinfo.nPos -= 5;
    if (scrollinfo.nPos<=scrollinfo.nMin)
    {
    scrollinfo.nPos = scrollinfo.nMin;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,unit*5);
    break;
    case SB_PAGEDOWN: //Scroll one page down
    scrollinfo.nPos += 5;
    if (scrollinfo.nPos+scrollinfo.nPage>=scrollinfo.nMax) //此处一定要注意加上滑块的长度,再作判断
    {
    scrollinfo.nPos = scrollinfo.nMax;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,-unit*5);
    break;
    case SB_ENDSCROLL: //End scroll
    break;
    case SB_THUMBPOSITION: //Scroll to the absolute position. The current position is provided in nPos
    break;
    case SB_THUMBTRACK: //Drag scroll box to specified position. The current position is provided in nPos
    ScrollWindow(0,(scrollinfo.nPos-nPos)*unit);
    scrollinfo.nPos = nPos;
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    break;
    }

    CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
    }
    展开全文
  • 对话框的(上下/左右)滚动事件,比如,把一个比较大的对话框放入tab控件的某一页时,就需要添加滚动条。在使用了java和qt等图形界面化的集成开发环境之后,再使用MFC,就会发现,想要让一个对话框滚动是多么麻烦的...

    对话框的(上下/左右)滚动事件,比如,把一个比较大的对话框放入tab控件的某一页时,就需要添加滚动条。在使用了java和qt等图形界面化的集成开发环境之后,再使用MFC,就会发现,想要让一个对话框滚动是多么麻烦的一件事情。下面我记录一下自己在使用MFC对话框自己带的垂直滚动条的过程。

      (1)设置对话框的vertical scrollbar属性为true;

      (2)初始化滚动条,如下:    

    复制代码
     
    void Dlg_WholeTest_Test::initScrollbar()
    {
    SCROLLINFO scrollinfo;
    GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    scrollinfo.nPage=10; //设置滑块大小
    scrollinfo.nMax=75; //设置滚动条的最大位置0--75
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    }
     
    复制代码

      在OnInitDialog函数中调用该初始化函数即可。

      (3)重新实现OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)消息处理函数。

    复制代码
     
    void MyDialog::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)   //对话框的滚动效果
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值

    SCROLLINFO scrollinfo;
    GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    int unit=3;
    switch (nSBCode)
    {
    case SB_LINEUP: //Scroll one line up
    scrollinfo.nPos -= 1;
    if (scrollinfo.nPos<scrollinfo.nMin)
    {
    scrollinfo.nPos = scrollinfo.nMin;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,unit);
    break;
    case SB_LINEDOWN: //Scroll one line down
    scrollinfo.nPos += 1;
    if (scrollinfo.nPos+scrollinfo.nPage>scrollinfo.nMax) //此处一定要注意加上滑块的长度,再作判断
    {
    scrollinfo.nPos = scrollinfo.nMax;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,-unit);
    break;
    case SB_PAGEUP: //Scroll one page up.
    scrollinfo.nPos -= 5;
    if (scrollinfo.nPos<=scrollinfo.nMin)
    {
    scrollinfo.nPos = scrollinfo.nMin;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,unit*5);
    break;
    case SB_PAGEDOWN: //Scroll one page down
    scrollinfo.nPos += 5;
    if (scrollinfo.nPos+scrollinfo.nPage>=scrollinfo.nMax) //此处一定要注意加上滑块的长度,再作判断
    {
    scrollinfo.nPos = scrollinfo.nMax;
    break;
    }
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    ScrollWindow(0,-unit*5);
    break;
    case SB_ENDSCROLL: //End scroll
    break;
    case SB_THUMBPOSITION: //Scroll to the absolute position. The current position is provided in nPos
    break;
    case SB_THUMBTRACK: //Drag scroll box to specified position. The current position is provided in nPos
    ScrollWindow(0,(scrollinfo.nPos-nPos)*unit);
    scrollinfo.nPos = nPos;
    SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);
    break;
    }

    CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
    }
    展开全文
  • 网上这部分计算的方法很多,看的也是眼花缭乱,从解决问题的角度来看,其实有一个参数:offset,这个参数据说是表达距离的,因为layer本身有样式,左右合适,只是垂直因为内容多而被挤下去。所以,配置如下: var ...

    一个小问题,前端可能5分钟,后端要调几十分钟都未必找到,没办法公司前端稀缺,能自己调的还是得自己调整样式。
    网上这部分计算的方法很多,看的也是眼花缭乱,从解决问题的角度来看,其实有一个参数:offset,这个参数据说是表达距离的,因为layer本身有样式,左右合适,只是垂直因为内容多而被挤下去。所以,配置如下:

    var index = layer.confirm('确定删除?', {
    				btn: ['取消','确定'] ,
    			  	shade:[0.1,'#fff'],
                    offset:'286.5px'
                    //  offset:'50%'
    			}, function(){
    				layer.close(index);
    			}, function(){
    				removeFunction(obj, data);
    			});
    

    50%的参数,个人觉得偏下了一些,所以找了一个合适的参数写死的,解决问题!

    展开全文
  • 添加对话框的WM_HSCROLL消息,在触发水平滚动消息时,根据触发消息(如单击左右滚动箭头、拖到滚动块、单击滚动区域等)不同,设置相应的滚动位置。   void CImagePanel::OnHScroll(UINT nSBCode, UINT nPos, ...

    为对话框设置水平,垂直条及鼠标移动滚动

    1.       创建一个对话框,设置属性如下:

    2.       添加对话框的WM_HSCROLL消息,在触发水平滚动消息时,根据触发消息(如单击左右滚动箭头、拖到滚动块、单击滚动区域等)不同,设置相应的滚动位置。

     

    void CImagePanel::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

    {

           int nCurpos,nMin,nMax,nThumbWidth;    

           SCROLLINFO siInfo;                                                     //定义滚动条信息

           GetScrollInfo(SB_HORZ,&siInfo);                                  //获取滚动条信息

           nCurpos = siInfo.nPos;                                            //获取当前位置

           nMin = siInfo.nMin;                                                       //获取最小值

           nMax = siInfo.nMax;                                                      //获取最大滚动位置

           nThumbWidth = siInfo.nPage;                                         //获取滚动快大小

           switch (nSBCode)

           {

           break;

           case SB_THUMBTRACK: //拖动滚动块

                  ScrollWindow(-(nPos-nCurpos),0);                    //滚动窗口

                  SetScrollPos(SB_HORZ,nPos);                                 //设置水平滚动条的滚动位置

           break;

           case SB_LINELEFT : //单击左箭头

                  SetScrollPos(SB_HORZ,nCurpos-1);                  //设置水平滚动条的滚动位置

                  if (nCurpos != 0)

                         ScrollWindow(1,0);                                          //向左滚动一个位置

           break;

           case SB_LINERIGHT: //单击右箭头

                  SetScrollPos(SB_HORZ,nCurpos+1);                 //设置水平滚动条的滚动位置

                  if (nCurpos+nThumbWidth < nMax)

                         ScrollWindow(-1,0);                                         //向右滚动一个位置

           break;

           case SB_PAGELEFT: //在滚动块的左方空白滚动区域单击,增量为6

                  SetScrollPos(SB_HORZ,nCurpos-6);

                  if (nCurpos+nThumbWidth >0)

                         ScrollWindow(6,0);                                          //向左滚动6个单位

           break;

           case SB_PAGERIGHT: //在滚动块的右方空白滚动区域单击,增量为6

                  SetScrollPos(SB_HORZ,nCurpos+6);                 //设置水平滚动条的滚动位置

                  if (nCurpos+nThumbWidth <nMax)

                         ScrollWindow(-6,0);                                         //向右滚动6个单位

           break;

           case SB_LEFT:                                                              //滚动到最左边

                  SetScrollPos(SB_HORZ,0);                               //设置滚动位置为0

                  ScrollWindow(nCurpos,0);                                //设置窗口滚动位置

           break;

           }    

           CDialog::OnHScroll(nSBCode, nPos, pScrollBar);    

     

    }

    3.       添加对话框的WM_VSCROLL消息

    void CImagePanel::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

    {

           int nCurpos,nMin,nMax,nThumbWidth;

           SCROLLINFO siInfo;

           GetScrollInfo(SB_VERT,&siInfo);

           nCurpos = siInfo.nPos;

           nMin = siInfo.nMin;

           nMax = siInfo.nMax;

           nThumbWidth = siInfo.nPage;

           switch (nSBCode)

           {

           case SB_THUMBTRACK:

                  nCurpos = GetScrollPos(SB_VERT);

                  ScrollWindow(0,-(nPos-nCurpos));

                  SetScrollPos(SB_VERT,nPos);    

           break;

     

           case SB_LINELEFT:

                  nCurpos = GetScrollPos(SB_VERT);

                  SetScrollPos(SB_VERT,nCurpos-1);

                  if (nCurpos !=0)

                         ScrollWindow(0,1);

           break;

           case SB_LINERIGHT:

                  nCurpos = GetScrollPos(SB_VERT);

                  SetScrollPos(SB_VERT,nCurpos+1);

                  if (nCurpos+nThumbWidth < nMax)

                         ScrollWindow(0,-1);     

           break;

           case SB_PAGELEFT: //在滚动块的上方空白滚动区域单击,增量为6

                  SetScrollPos(SB_VERT,nCurpos-6);

                  if (nCurpos+nThumbWidth >0)

                         ScrollWindow(0,6);

           break;

           case SB_PAGERIGHT: //在滚动块的下方空白滚动区域单击,增量为6

                  SetScrollPos(SB_VERT,nCurpos+6);

                  if (nCurpos+nThumbWidth < nMax)

                         ScrollWindow(0,-6);

           break;

           case SB_LEFT:     

                  SetScrollPos(SB_VERT,0);

                  ScrollWindow(0,nCurpos);

           break;

           }    

           CDialog::OnVScroll(nSBCode, nPos, pScrollBar);

    }

    4.       添加对话框的WM_MOUSEWHEEL消息

    //数量鼠标滚动时的时间,适当地滚动窗口

    BOOL CImagePanel::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)

    {

           SCROLLINFO siInfo;                                       //定义滚动信息对象

           GetScrollInfo(SB_VERT,&siInfo);                     //获取滚动信息

           int nMin,nMax,nThumbWidth;                          

           nMin = siInfo.nMin;                                         //获取滚动最小值

           nMax = siInfo.nMax;

           nThumbWidth = siInfo.nPage;             //获取滚动块大小

           int nPos = GetScrollPos(SB_VERT);       //获取垂直滚动条的当前位置

           if (zDelta > 0)                                           //向上滚动

           {

                  if (nPos == 0)

                         return TRUE;

                  SetScrollPos(SB_VERT,nPos-6);        //设置滚动条位置

                  ScrollWindow(0,6);                   //向上滚动窗口

           }

           else

           {

                  if ((nPos+nThumbWidth >= nMax))

                         return TRUE;

                  SetScrollPos(SB_VERT,nPos+6);

                  ScrollWindow(0,-6);

           }

           return TRUE;//CDialog::OnMouseWheel(nFlags, zDelta, pt);

    }

    展开全文
  • 项目比较老了,左右分栏的页面,导航栏右边是一个iframe组成的页面,通过某个操作后,页面右侧内容区域无法实现滚动 问题查明 遇见过好几次,最后查明,总结一句话,修改了右侧页面body的overflow属性导致的,怎么...
  • 最近在慕课网上学习了一个网页可拖动对话框js实现的演示视频,这个demo中的例子是百度首页登录按钮的弹窗,如下图:​当点击左上角的登录按钮时,弹窗出现并自动居中,同时窗口可拖动的范围被限制在了可视区域内,即...
  • 当点击左上角的登录按钮时,弹窗出现并自动居中,同时窗口可拖动的范围被限制在了可视区域内,即浏览器视窗的上下左右边界,弹窗无法移出移动出四个边界,也不会出现滚动条。 另一个效果就是,当改变窗口大小时...
  • 当虚拟机屏幕分辨率太高,出现拖动滚动条,操作不便时,调整步骤: 1、首先查看PC机分辨率大小:桌面右键——》显示设置-》打开设置对话框,可查看分辨率为1366×768; 2、windows的任务条大约100像素,加上虚拟机的...
  • 61个时尚网页特效

    2016-04-25 14:15:17
    仿MAC苹果系统跟随滚动条飘浮网页下方的 天气图标 宽幅的JS幻灯片放映特效代码 对话框.htm 小球碰撞叠加 带分类和缩略图显示的jquery相册特 时钟特效 最少代码的瀑布流实现预览效果 滚动条.htm 漂亮的放GG代码的广告...
  • 快速拆分窗口:将鼠标指针移动到垂直滚动条顶端上的拆分条上,变成双向箭头后双击或拖动可拆分窗口。  7. 状态栏中的双击:双击状态栏的前两个框中任意位置可快速打开“查找和替换”对话框。双击“录制”则弹出...
  • JavaScript网页特效范例宝典源码

    千次下载 热门讨论 2013-09-04 10:40:38
    实例278 页面左右滚动 435 实例279 动态移动的层 437 实例280 在页面中显示十字光标 438 第10章 状态栏特效 441 10.1 状态栏文字动画 442 实例281 使状态栏中的文字不停闪烁 442 实例282 文字从右向左依次弹出 443 ...
  • 8.超酷带纹理网页滚动条效果.html 9.纯CSS代码实现翻页焦点图效果.html 10.仿豆瓣分页原型.html 11.给放大的分页.html 12.关闭此页面时会提醒你加入书签.html 13.划过链接鼠标变手型.html 14.可供选择大小.html 15....
  • DOS图形界面(GUI)开发包

    热门讨论 2007-03-03 12:52:06
    HSCROLLBAR 横向滚动条 VSCROLLBAR 竖向滚动条 TEXTBOX 单行文本编辑框 EDITBOX 多行文本编辑框 COMBOBOX 组合框 LISTBOX 列表框 CHECKBOX 多项选择框 CHOICEBOX 单项选择框 LABEL 文字标签 PAGEVIEW 标签页 ...
  • Visual C++编程技巧精选500例.pdf

    热门讨论 2012-09-01 15:01:50
    013 如何使用滚动条控件? 014 如何设置按钮控件标签? 015 如何设置按钮控件字体? 016 如何动态创建按钮控件? 017 如何禁用和启用按钮控件? 018 如何隐藏和显示按钮控件? 019 如何在按钮控件上加载图标? 020 如何在...
  • VB编的电子图书

    2008-05-12 22:16:32
    如下图 先用鼠标移到滚动条上按住不放,再移到左右边上,你就会看到滚动条的右边的标签出现你选择的字号,下面就会出现说明和字体大小示例,让你达到满足要求,选好后,再按改变电脑的文本中字体的复选框...
  • javascript网页特效实例

    热门讨论 2010-10-28 08:54:15
    实例043 应用JavaScript实现指定尺寸无边框无滚动条窗口 67 1.8 水平导航条应用 69 实例044 图片按钮导航条 69 实例045 导航条的动画效果 71 实例046 不用图片实现质感导航条 72 1.9 下拉菜单式导航条 ...
  • 13.jQuery仿新浪新闻图片浏览器(支持鼠标左右滚动控制图片切换) 14.jquery仿苏宁易购商城产品图片全方位展示功能 15.jquery制作漂亮按钮示例打包 16.jQuery动态切换网页背景的大块图片的导航栏代码 17....
  • 13.jQuery仿新浪新闻图片浏览器(支持鼠标左右滚动控制图片切换) 14.jquery仿苏宁易购商城产品图片全方位展示功能 15.jquery制作漂亮按钮示例打包 16.jQuery动态切换网页背景的大块图片的导航栏代码 17....
  • 13. jQuery仿新浪新闻图片浏览器(支持鼠标左右滚动控制图片切换) 14. jquery仿苏宁易购商城产品图片全方位展示功能 15. jquery制作漂亮按钮示例打包 16. jQuery动态切换网页背景的大块图片的导航栏代码 17. jquery...
  • 13. jQuery仿新浪新闻图片浏览器(支持鼠标左右滚动控制图片切换) 14. jquery仿苏宁易购商城产品图片全方位展示功能 15. jquery制作漂亮按钮示例打包 16. jQuery动态切换网页背景的大块图片的导航栏代码 17. jquery...
  • 5.7.2 SeekBar(拖动控件) 139 5.7.3 设置ProgressBar和SeekBar的颜色及背景图 140 5.7.4 RatingBar(评分控件) 143 5.8 列表控件 145 5.8.1 ListView(普通列表控件) 145 5.8.2 为ListView列表项添加复选...
  • 5.7.2 SeekBar(拖动控件) 139 5.7.3 设置ProgressBar和SeekBar的颜色及背景图 140 5.7.4 RatingBar(评分控件) 143 5.8 列表控件 145 5.8.1 ListView(普通列表控件) 145 5.8.2 为ListView列表项添加复选...
  • 安信证券.rar

    2013-03-09 14:06:16
    -修正了键盘精灵、帮助滚动条出现错别字的问题 -修正了键盘精灵85、86不是上证债券、深证债券的问题 -修正了综合排名时有些股票选择无效的问题 -修正了大盘k线图两次ctrl+j右下角出现小图的问题 -修正了f10信息...
  • 阅读工具 开卷有益

    2012-03-31 14:07:03
    优化设置界面滚动条拖动效果 3. 智能化设置界面,只有当高度不足以显示全部内容时,才开启界面滚动功能 4. 美化查询界面 修复: 1. 修复设置界面双击跑飞的Bug 2. 修复特殊路径书籍不能保存进度的Bug 3. ...
  • 54、设置ListView滚动条属性 92 55、获取Array.xml文件中的值 93 56、获取系统媒体声音文件 93 57、自定义Adapter 94 58、记住listview滚动位置 94 59、更改系统超时休眠的时间 94 60、更改对话框大小 95 61、json...
  • - 选中文件时,移动到屏幕可视区域(解决上下左右选中文件滚动条不一致问题) ###ver2.51 `2014/6/22` ---- ####fix bug:(bug解决和程序优化) - 登陆多次密码输入错误验证码bug解决 - 修复漏洞:创建副本加入...

空空如也

空空如也

1 2 3 4 5 6
收藏数 116
精华内容 46
关键字:

对话框左右滚动条