VS2010_MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)-软件开发-鸡啄米

合集下载

mfc dialog scrollbar 用法

mfc dialog scrollbar 用法

MFC对话框滚动条的使用1. 简介MFC(Microsoft Foundation Class)对话框是Windows评台上一种常见的GUI(Graphical User Interface)界面,可以用于创建各种窗口应用程序。

滚动条是对话框中常用的控件之一,可以用于滚动显示大量内容,如文本、图片等。

本文将介绍在MFC对话框中如何使用滚动条控件。

2. 添加滚动条控件在MFC对话框中添加滚动条控件非常简单。

打开对话框资源编辑器,选中要添加滚动条的对话框,然后在工具栏中选择“滚动条”控件,将其拖放到对话框中即可。

3. 设置滚动条属性添加滚动条控件后,我们可以通过双击滚动条控件或者右键点击属性来设置其各种属性。

常见的滚动条属性包括滚动条的位置、大小、范围、页面大小、滑块大小等。

根据实际需求,可以对这些属性进行调整,以满足程序的需求。

4. 响应滚动条消息一旦滚动条控件添加到对话框中并设置好属性,接下来就是响应滚动条的消息。

在MFC中,我们可以通过重载对话框类的OnVScroll和OnHScroll函数来响应垂直滚动和水平滚动的消息。

在这两个函数中,我们可以根据滚动条的位置来更新对话框中其他控件的显示内容,从而实现滚动显示的效果。

5. 示例代码以下是一个简单的示例代码,演示了在MFC对话框中使用垂直滚动条控件的方法:```C++void CMyDialog::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar){// 获取滚动条控件的当前位置int nCurPos = pScrollBar->GetScrollPos();// 根据滚动条的消息进行相应处理switch (nSBCode){case SB_TOP:// 处理滚动到顶部的情况break;case SB_BOTTOM:// 处理滚动到底部的情况break;case SB_LINEUP:// 处理向上滚动一行的情况break;case SB_LINEDOWN:// 处理向下滚动一行的情况break;case SB_PAGEUP:// 处理向上滚动一页的情况break;case SB_PAGEDOWN:// 处理向下滚动一页的情况break;case SB_THUMBTRACK:// 处理拖动滑块的情况break;default:break;}CDialog::OnVScroll(nSBCode, nPos, pScrollBar); }```在这个示例代码中,我们重载了对话框类的OnVScroll函数,通过获取滚动条的当前位置和消息类型,实现了对滚动条消息的处理。

VB教程:滚动条(ScrollBar)

VB教程:滚动条(ScrollBar)

8、滚动条(ScrollBar)作⽤:当应⽤程序或控件不能⾃动⽀持滚动时,⽤⽔平和垂直的滚动条控件,为它们提供这⼀功能。

滚动条控件有两类:⽔平滚动条HscrollBar、垂直滚动条VscrollBar。

(1)常⽤属性见教材P135表5-13。

经常⽤到的属性有:value——当前滑动块的位置在滚动条中,滚动块所处的位置可以代表⼀个输⼊值。

value属性值即为体现滚动块在滚动条中位置的数值。

对于⽔平滚动条,当滚动块处于最左边时,value取最⼩值Min;对于垂直波动条,当滚动块处于最顶端时,value取最⼩值Min。

反之,则value值取值。

在中间的各个位置,value值与位置是严格按照⽐例来设定的。

改变滚动条value属性的⽅法有四种;直接在属性窗⼝中设定value值;⿏标单击两端箭头键改变滚动条数值;可将滚动框沿滚动条拖动到任意位置;⽤⿏标单击滚动条中滚动块两侧的部分,使滚动块以翻页的速度移动。

value属性的缺省值为O到32,767,缺省情况下,value取0和32,767中的某个数值(包括0和32,767)。

max——滚动条值min——滚动条最⼩值滚动条的value属性有取值范围的限制,取值范围由max属性和min属性设置,⼀般情况,max代表value的值,min代表value 的最⼩值。

如果希望滚动条显⽰的信息从较⼤数值向较⼩数值变化.可将Min设置成⼤于max的值。

largechange——变化量(单击滑动块)smallchange——最⼩变化量(单击箭头)(2)常⽤事件Change事件和Scroll事件单击滚动条的滚动箭头、滚动区域或滚动条的Value属性改变时、滚动条具有焦点时再按下PageUp、Pagedown键,都可以引发Change事件和Scroll事件。

两者的不同在于:单击滚动条的滚动箭头、滚动区域或拖动滚动块后,才能引发Change事件,⽽拖动滚动块时,就可引发Scroll事件。

VS2010 C++学习(1):滚动条的设计总结

VS2010 C++学习(1):滚动条的设计总结

VS2010 C++学习(1):滚动条的设计总结学习VC++编制的滚动条程序.。

一、主要内容:1.对话框中的滚动条设计;2.编辑框中的滚动条设计;3.列表框中的滚动条设计;二、设计实现:1、对话框中的滚动条设计;∙在资源编辑器中,选择在属性对话框中的水平滚动和垂直滚动样式。

∙选择调整大小的边框样式,以使该对话框可调整其大小。

∙重写 WM_VSCROLL 和 WM_HSCROLL 消息处理程序。

∙重写设置滚动条区域,如果大小减小到小于原始大小的 WM_SIZE 消息处理程序。

1)添加成员变量到对话框类中int m_nCurHeight; //存储对话框中的当前高度int m_nScrollPos; //存储当前垂直滚动位置int m_nCurWidth; //存储对话框中的当前宽度int m_hScrollPos; //存储当前水平滚动位置CRect m_rect; // 对话框原始大小2)若要获取原始窗口的大小,请将下行添加到OnInitDialog方法:GetWindowRect(m_rect);m_nScrollPos = 0; // 垂直滚动位置0m_hScrollPos = 0; // 水平滚动位置03) OnSize方法中添加消息处理程序。

判断当前对话框的大小,并与对话框原始大小进行比较。

然后计算出垂直和水平滚动条的最大值,写入SCROLLINFO中去。

4) 将 WM_VSCROLL 消息的消息处理程序添加到OnVScroll方法中,WM_HSCROLL 消息的消息处理程序添加到OnHScroll方法中。

设计响应滚动条的事件。

5) 使用的函数●SetScrollInfo(SB_HORZ, &hsi, TRUE);●SetScrollPos(SB_HORZ,m_hScrollPos,TRUE);●ScrollWindow(-nDelta,0);函数原型:int SetScrollInfo(HWND hWnd,int fnBar,LPSCROLLINFO lpsi,BOOL fRedraw);函数功能:该函数设置滚动条参数,包括滚动位置的最大值和最小值,页面大小,滚动按钮的位置。

滚动条与框架

滚动条与框架
当拖动滚动块(未释放)时触发该事件。当拖动滚动块时,会连续多次 触发Scroll事件。
滚动条与框架
二、框架控件 Frame 框架是一个左上角有标题文字的方框,用于对控件进行逻辑分组。框
架也可以作为容器使用。
滚动条与框架
属性 2.Left,Top,Width,Height,Visible,Enabled属性
滚动条与框架
5.Max属性 决定当滚动块处于最右侧或底部时Value的值,即最大值。 Min和Max属性的取值范围为-32 768~32 767 (Integer类型),Min默认值
为0,Max默认值为32 767。 6.Smal的变化量。 rgeChange属性
空白区域
滚动按钮
滚动块
滚动条与框架
属性 2.Left,Top,Width,Height,Visible,Enabled属性 3.Value属性
设置或返回滚动条的当前值。无论是单击滚动条的滚动按钮、空白区 域,还是拖动滚动块都可以改变其Value值。 4.Min属性
决定当滚动块处于最左侧或最顶部时,Value属性的取值,即最小值。
Visual Basic 程序设

滚动条与框架
一、滚动条控件 ScrollBar 滚动条分为水平滚动条HScrollBar和垂直滚动条VScrollBar两种。两者
除了类型名和放置方向不同外,其余特点均相同。滚动条常用于滚动显示 文字、图形,或输入数据。
滚动条由滚动按钮、滚动块和空白区域组成。如:
Visual Basic 程序设

单击空白区域时,Value属性值的变化量。 以上两个变量量范围均为1~32 767,默认为1。
滚动条与框架
8.Move方法 9.Change事件

VS2010之MFC入门到精通教程(1-55全部)

VS2010之MFC入门到精通教程(1-55全部)

VS2010/MFC编程入门教程之目录第一部分:VS2010/MFC开发环境VS2010/MFC编程入门之前言VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)第二部分:VS2010-MFC应用程序框架VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)VS2010/MFC编程入门之四(MFC应用程序框架分析)VS2010/MFC编程入门之五(MFC消息映射机制概述)第三部分:对话框VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)VS2010/MFC编程入门之七(对话框:为对话框添加控件)VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数)VS2010/MFC编程入门之十(对话框:设置对话框控件的Tab顺序)VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)VS2010/MFC编程入门之十二(对话框:非模态对话框的创建及显示)VS2010/MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)VS2010/MFC编程入门之十四(对话框:向导对话框的创建及显示)VS2010/MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)VS2010/MFC编程入门之十六(对话框:消息对话框)VS2010/MFC编程入门之十七(对话框:文件对话框)VS2010/MFC编程入门之十八(对话框:字体对话框)VS2010/MFC编程入门之十九(对话框:颜色对话框)第四部分:常用控件VS2010/MFC编程入门之二十(常用控件:静态文本框)VS2010/MFC编程入门之二十一(常用控件:编辑框Edit Control)VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox)VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)VS2010/MFC编程入门之二十八(常用控件:列表视图控件List Control 上)VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)VS2010/MFC编程入门之三十(常用控件:树形控件Tree Control 上)VS2010/MFC编程入门之三十一(常用控件:树形控件Tree Control 下)VS2010/MFC编程入门之三十二(常用控件:标签控件Tab Control 上)VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下)第五部分:菜单、工具栏与状态栏VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)VS2010/MFC编程入门之三十五(菜单:菜单及CMenu类的使用)VS2010/MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类)VS2010/MFC编程入门之三十七(工具栏:工具栏的创建、停靠与使用)VS2010/MFC编程入门之三十八(状态栏的使用详解)第六部分:文档、视图和框架VS2010/MFC编程入门之三十九(文档、视图和框架:概述)VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)第七部分:MFC常用类VS2010/MFC编程入门之四十二(MFC常用类:CString类)VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)VS2010/MFC编程入门之四十五(MFC常用类:CFile文件操作类)VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)第八部分:字体和文本输出VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类)VS2010/MFC编程入门之四十八(字体和文本输出:文本输出)第九部分:图形图像VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)第十部分:Ribbon界面开发VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)VS2010/MFC编程入门之前言鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。

MFC中滚动条的实现

MFC中滚动条的实现

MFC中滚动条的实现1、建立工程时,将View类继承自CScrollView2、在OnInitialUpdate中添加初始化时Scroll的相关属性值CSize sizeTotal(0,0);SetScrollSizes(MM_TEXT,sizeTotal);3、打开文件(图像后)根据图像的大小,设置滚动属性值ChangeScrollRange(); //自定义函数//直接重新调用SetScrollSizes(MM_TEXT,sizeTotal); 即可4、在View类中添加成员变量。

作用是存储图像显示位置与原点的offsetint m_ImgVScrollPos; // VScroll distanceint m_ImgHScrollPos; // HScroll distance5、滚动处理添加自定义响应WM_VSCROLL、WM_HSCROLL消息的事件函数:OnVScroll、OnHScroll void CSockIIView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScr ollBar){// TODO: Add your message handler code here and/or call defaultSCROLLINFO si;GetScrollInfo(SB_VERT,&si,SIF_ALL);m_ImgVScrollPos=si.nPos;Invalidate(TRUE);CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);}6、图像显示更改OnPaint函数中图像显示的代码:dc.BitBlt(rc.left,rc.top,rc.Width(),rc.Height(),m_pMemDC, rc.left,rc.top,SRCCOPY);为:dc.BitBlt(rc.left,rc.top,rc.Width(),rc.Height(),m_pMemDC,(rc.left+m_ImgHScrollPos),(rc.top+m_ImgVScrollPos),SRCCOPY);备注:SetScrollSizes() MFC库函数,设置滚动条属性。

常用滚动条控件

常用滚动条控件

滚动条滚动条(Scroll Bar)主要用来从某一预定义值范围内快速有效地进行浏览,滚动条分为垂直滚动条(Horizontal Scroll Bar)和水平滚动条(Vertical Scroll Bar)两种,如图3.5.41所示。

在滚动条内有一个滚动框,图3.5.41垂直和水平滚动条用来表示当前的值。

用鼠标单击滚动条,可以使滚动框移动一页或一行,也可以直接拖动滚动框。

滚动条即可以作为一个独立控件存在,也可以作为窗口、列表框和组合框的一部分。

滚动条控件的各种操作都封装在MFC的CScrollBar类中。

图3.5.42向前拖动滚动条的情况例3.23在对话框上设计一个滚动条、一个静态文本和一个编辑框。

当拖动滚动条向前进时,编辑框的数字逐渐增加,而静态文本的背景逐渐变红,拖动滚动条向后,编辑框的数字逐渐减少,静态文本的红颜色逐渐变淡,如图3.5.42所示。

(1)创建一个基于对话框的应用程序,名为:滚动条。

(2)删除原来的Cancel(取消)按钮,将原来的OK(确定)按钮的标题改为:退出。

(3)参照图3.5.42控件布局,用编辑器为对话框添加如表3.30所示控件,并加成员变量。

(4)为CMyDlg.h添加一个布尔变量即:BOOL m_bEditOK;并在CMyDlg.cpp 的构造函数中将其初值设为假即:m_bEditOK=FALSE;(5)增加充填颜色函数,将项目工作区切换到ClassView页面,用鼠标右击“CMyDlg”项,在弹出的快捷菜单中选中“Add Member Function”,在Function 处写:void,在Function Declaration处写:Draw()。

表3.30添加的控件及成员变量控件ID号标题属性成员变量大小静态文本IDC_DRAW默认Static edge静态文本默认红(R)编辑框IDC_EDIT1默认int m_RValue0-255水平滚动条IDC_SCROLLBAR1默认CScrollBar m_Scroll(6)切换到ClassWizard的Message Maps标签页,在CMyDlg类中,为编辑框IDC_EDIT1添加EN_CHANGE的消息映射,并加代码:void CMyDlg::OnChangeEdit1(){if(!m_bEditOK)return;UpdateData();//将控件的内容赋给成员变量m_Scroll.SetScrollPos(m_RValue);Draw();}(4)在CMyDlg.cpp文件中的OnPaint()函数中增加下列代码:void CMyDlg::OnPaint(){CPaintDC dc(this);//注意,要保留原程序的此条语句CWnd*pWnd=GetDlgItem(IDC_DRAW);pWnd->UpdateWindow();Draw();}(5)在CMyDlg.cpp文件中的OnInitDialog()函数中增加下列代码:BOOL CMyDlg::OnInitDialog(){CDialog::OnInitDialog();…….…………….m_Scroll.SetScrollRange(0,255);m_Scroll.SetScrollPos(m_RValue);UpdateData(FALSE);//将成员变量数据传给控件m_bEditOK=TRUE;return TRUE;//return TRUE unless you set the focus to a control}(6)用ClassWizard为对话框类CMyDlg添加WM_HSCROLL映射消息,并加代码:void CMyDlg::OnHScroll(UINT nSBCode,UINT nPos,CScrollBar*pScrollBar) {int nID=pScrollBar->GetDlgCtrlID();//获取对话框中控件的ID号if(nID==IDC_SCROLLBAR1){switch(nSBCode){case SB_LINELEFT:m_RValue--;break;//单击滚动条左箭头case SB_LINERIGHT:m_RValue++;break;//单击滚动条右箭头case SB_PAGELEFT:m_RValue-=10;break;case SB_PAGERIGHT:m_RValue+=10;break;case SB_THUMBTRACK:m_RValue=nPos;break;}if(m_RValue<0)m_RValue=0;if(m_RValue>255)m_RValue=255;m_Scroll.SetScrollPos(m_RValue);}UpdateData(FALSE);//将成员变量数据传给控件Draw();CDialog::OnHScroll(nSBCode,nPos,pScrollBar);}(7)为第5步添加的Draw()函数,加下列代码:void CMyDlg::Draw(){CWnd*pWnd=GetDlgItem(IDC_DRAW);//获得静态文本的起始地址,即ID标识CDC*pDC=pWnd->GetDC();//获得窗口当前的设备环境指针CBrush drawBrush;//定义画刷变量drawBrush.CreateSolidBrush(m_RValue);//建立画刷颜色值CBrush*pOldBrush=pDC->SelectObject(&drawBrush);CRect rcClient;pWnd->GetClientRect(rcClient);pDC->Rectangle(rcClient);pDC->SelectObject(pOldBrush);}(8)编译运行,结果见图3.5.42所示。

MFC编程总结各种控件使用说明

MFC编程总结各种控件使用说明

MFC各种控件的使用说明把整数显示为时间格式的方法:Int minute=5; int sec=5;CString strTime;strTime.Format("%02d:%02d",minute,sec);GetDlgItem(IDC_STAT_DIS)->SetWindowText(strTime);定时器的使用方法:在函数BOOL CDingshiqiDlg::OnInitDialog(){SetTimer(1,1000,NULL);}添加语句SetTimer(1,1000,NULL);定时器1秒钟中断一次.然后添加消息WM_TIMER对应的消息函数:void CDingshiqiDlg::OnTimer(UINT nIDEvent){}播放系统声音的方法:在头文件添加这两句#include<mmsystem.h>#pragma comment (lib,"winmm.lib")然后调用函数: PlaySound("SystemStart",NULL,SND_ALIAS|SND_ASYNC);VC++6.0控件工具箱:2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)3 静态文本(Static Text):MFC提供了CStatic类支持静态控件。

(1)更改该控件上字体的方法是:该控件的ID为IDC_STATIC1,IDC_STATIC2.CFont * f1;f1 = new CFont;f1 -> CreateFont( 25 , // nHeight15, // nWidth0 , // nEscapement0 , // nOrientationFW_BOLD, // nWeightFALSE , // TRUEbItalicFALSE, // bUnderline0 , // cStrikeOutDEFAULT_CHARSET, //ANSI_CHARSET nCharSetOUT_DEFAULT_PRECIS, // nOutPrecisionCLIP_DEFAULT_PRECIS, // nClipPrecisionDEFAULT_QUALITY, // nQualityDEFAULT_PITCH | FF_SWISS, // nPitchAndFamily_T( " 宋体" )); // lpszFacGetDlgItem(IDC_STATIC1)-> SetFont(f1);GetDlgItem(IDC_STATIC2)-> SetFont(f1);另一种改变字体大小的方法: 在函数外定义CStatic m_static;CFont font;m_static.SubclassDlgItem(IDC_STAT_DIS,this);LOGFONT log;GetObject(::GetStockObject(DEFAULT_GUI_FONT),sizeof(log),&log);log.lfHeight=300; //改log.lfWidth=120; //改log.lfCharSet=GB2312_CHARSET;lstrcpy(log.lfFaceName, _T("宋体"));font.CreateFontIndirect(&log);m_static.SetFont(&font);(2) 把整数显示在该控件的方法:IDC_STAT_DIS为控件IDInt minute=5,sec=5;CString strTime;strTime.Format("%02d:%02d",minute,sec);GetDlgItem(IDC_STAT_DIS)->SetWindowText(strTime);另外一种显示的方法:CStatic*pst=(CStatic *)GetDlgItem(IDC_STAT_DIS);pst->SetWindowText("00:00");4 编辑框(Edit Box):MFC提供了CEdit类支持编辑框控件。

VS2010之MFC入门到精通教程

VS2010之MFC入门到精通教程

VS2010/MFC编程入门教程之目录第一部分:VS2010/MFC开发环境VS2010/MFC编程入门之前言VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)第二部分:VS2010/MFC应用程序框架VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)VS2010/MFC编程入门之四(MFC应用程序框架分析)VS2010/MFC编程入门之五(MFC消息映射机制概述)第三部分:对话框VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)VS2010/MFC编程入门之七(对话框:为对话框添加控件)VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数)VS2010/MFC编程入门之十(对话框:设置对话框控件的T ab顺序)VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)VS2010/MFC编程入门之十二(对话框:非模态对话框的创建及显示)VS2010/MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)VS2010/MFC编程入门之十四(对话框:向导对话框的创建及显示)VS2010/MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)VS2010/MFC编程入门之十六(对话框:消息对话框)VS2010/MFC编程入门之十七(对话框:文件对话框)VS2010/MFC编程入门之十八(对话框:字体对话框)VS2010/MFC编程入门之十九(对话框:颜色对话框)第四部分:常用控件VS2010/MFC编程入门之二十(常用控件:静态文本框)VS2010/MFC编程入门之二十一(常用控件:编辑框Edit Control)VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox)VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)VS2010/MFC编程入门之二十八(常用控件:列表视图控件List Control 上)VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)VS2010/MFC编程入门之三十(常用控件:树形控件Tree Control 上)VS2010/MFC编程入门之三十一(常用控件:树形控件Tree Control 下)VS2010/MFC编程入门之三十二(常用控件:标签控件Tab Control 上)VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下)第五部分:菜单、工具栏与状态栏VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)VS2010/MFC编程入门之三十五(菜单:菜单及CMenu类的使用)VS2010/MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类)VS2010/MFC编程入门之三十七(工具栏:工具栏的创建、停靠与使用)VS2010/MFC编程入门之三十八(状态栏的使用详解)第六部分:文档、视图和框架VS2010/MFC编程入门之三十九(文档、视图和框架:概述)VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)第七部分:MFC常用类VS2010/MFC编程入门之四十二(MFC常用类:CString类)VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)VS2010/MFC编程入门之四十五(MFC常用类:CFile文件操作类)VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)第八部分:字体和文本输出VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类)VS2010/MFC编程入门之四十八(字体和文本输出:文本输出)第九部分:图形图像VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)第十部分:Ribbon界面开发VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)VS2010/MFC编程入门之前言鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。

水平滚动条控件(HScrollBar)和垂直滚动条控件(VScrollBar)的常用属性

水平滚动条控件(HScrollBar)和垂直滚动条控件(VScrollBar)的常用属性
水平滚动条控件(HS crollBar)和垂直滚动条控件(VS crollBar)的常用属性
属性 (Name)
CauseValidation
DragIcon DragMode
Enabled
Height HelpContextID Index LargeChange Left Max Min MouseIcon
说明
控件对象的名称
该控件获得焦点时,失去焦点的控件的 Validate 事件是否发生。取值为:
True 发生
False 不发生
该对象在拖动过程中鼠标的图标
该对象的拖动模式,取值为:0 Manual(手动)
1 Automatic(自动)
用于设定是或对事件产生响应,取值为:True 可用 False 不可用,在执行程序时,该对象用灰色显示,并且不响应任何事件
文本书写是否自左向右。取值为:True
False 自右向左
用于设置单击滚动条两端箭头时,每单击一次滚动条移动的数量。
获得或设置此对象在父窗体的编号(父窗体中对象响应 Tab 键的顺序)
设置是否可以用"Tab"键选取此对象。取值为:True 可以 False 不可以
存储程序所需的附加数据
距窗体顶部边界的距离
控件对象的高度
指定一个对象的缺省帮助文件上下文标识符
在对象数组中的编号
用于设置单击滚动条中间区域时,每单击一次滚动条移动的数量。<
距离容器左边框的距离
பைடு நூலகம்
定义 Value 属性值的最大值
定义 Value 属性值的最小值
MousePointer=99 时,设定一个自定义的鼠标图标
MousePointer

MFC中滚动条的实现

MFC中滚动条的实现

MFC中滚动条的实现MFC(Microsoft Foundation Class)是Microsoft提供的一个面向对象的C++框架,用于开发Windows应用程序。

在MFC中,滚动条是一种常见的用户界面控件,用于在窗口或对话框中浏览内容超过可见区域的内容,比如文本、图像、表格等。

本文将介绍如何在MFC中实现滚动条。

1.处理滚动条的消息在MFC框架下,处理滚动条的消息主要通过窗口类的消息映射机制来实现。

首先,在窗口类的头文件中添加对滚动条消息的处理函数声明,如下所示:```afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);```其中,OnHScroll处理水平方向的滚动消息,OnVScroll处理垂直方向的滚动消息。

然后,在窗口类的消息映射宏中添加对滚动条消息的映射,如下所示:```ON_WM_HSCROLLON_WM_VSCROLL接下来,在窗口类的cpp文件中实现相应的滚动条消息处理函数,如下所示:```void CMyWindow::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)//处理水平滚动条消息的代码void CMyWindow::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)//处理垂直滚动条消息的代码```在这两个函数中,可以通过nSBCode和nPos参数获取滚动条的当前状态和位置,从而进行相应的处理。

2.操作滚动条的相关函数在MFC中,可以使用CScrollBar类来操作滚动条。

首先,需要在窗口类的头文件中添加CScrollBar成员变量,如下所示:```CScrollBar m_scrollBar;```然后,在窗口类的创建函数中创建滚动条控件,如下所示:m_scrollBar.Create(WS_CHILD , WS_VISIBLE , SBS_HORZ,CRect(0, 0, 100, 20), this, IDC_SCROLLBAR);```其中,第一个参数指定滚动条的样式,包括水平或垂直样式、可见性等;第二个参数指定滚动条的位置和大小;第三个参数为滚动条所属的父窗口,即当前窗口类的实例;第四个参数为滚动条的ID。

5.3.5滚动条ScrollBar滚动条是由两端滚动箭头和中间

5.3.5滚动条ScrollBar滚动条是由两端滚动箭头和中间

2.WM_VSCROLL和WM_HSCROLL消息
当用户对滚动条进行操作时,滚动条会向父窗口发送 WM_VSCROLL或WM_HSCROLL消息(分别对应于水平滚动条 和垂直滚动条)。这些消息可通过ClassWizard在滚动条的父窗口 中进行映射,并产生相应的消息处理函数OnHScroll和OnVScroll, 函数原型如下:
afx_msg void OnVScroll(UINT nSBCode,UINT nPos,CScrollBar* pScrollBar);
afx_msg void OnHScroll(UINT nSBCode,UINT nPos,CScrollBar* pScrollBar);
所使用的消息映射宏为: ON_WM_VSCROLL( )/ON_WM_HSCROLL( ),在映射宏中不需 要指明滚动条的ID,因为所有滚动条的滚动消息都由同样的函数 处理。在OnHScroll/OnVScroll中,第二个参数nPos为滚动块的当 前位置,第三个参数pScrollBar指明当前滚动条的指针,第一个参 数nSBCode表示滚动条上发生的动作(即滚动条控件的通知消息), 可取以下值:
1)设置和获取滑动条的位置和范围 CSliderCtrl::SetPos成员函数: 格式:void SetPos(int nPos); 功能:设置滑动块在滑动条控件中的当前位置。 参数:nPos-新的滑动块位置。 CSliderCtrl::SetRange成员函数: 格式:void SetRange(int nMin,int nMax,BOOL bRedraw=FALSE); 功能:设置滑动块在滑动条控件中的范围(最大和最小值)。 参数: nMin-滑动块的最小位置。 nMax-滑动块的最大位置。 bRedraw-重画标志,为TRUE时表示滑动条被重画。

mfc中Slider 和 Scroll Bar控件使用

mfc中Slider 和 Scroll Bar控件使用

MFC中Slider和Scroll Bar控件的使用在学习mfc的过程中,总是需要不断的接触新的东西,本人在编程序的过程中也是,那时就想做出滑动条,差了很多资料,做出来了,总结一下与大家共同分享。

Slider的使用。

先将一个slider拖入对话框内。

设置属性。

例如为IDC_SLIDER。

在classwizard里设置关联变量m_slider。

在相应dialog类中,oninitdialog函数中添加初始化信息。

(若无该函数则在view目录下classwizard中添加WM_INITDIALOG消息)m_slider.SetRange(0,100,TRUE); //范围0到100m_slider.SetTicFreq(10);//设置显示刻度的间隔m_slider.SetLineSize(10);//一行的大小,对应键盘的方向键m_slider.SetPos(20);//当前停留位置还可设置很多,具体参见CSliderCtrl百度百科,在此只罗列如上设置。

接着在classwizad中添加WM_HSCROLL消息,得到函数。

在函数中,得到当前滑动条位置并进行相应处理。

m_num得到当前位置,即可进行下一步。

Scroll Bar的使用。

先将一个Scroll Bar拖入对话框内。

设置属性。

例如为IDC_SCROLLBAR。

在classwizard里设置关联变量m_scrollbar。

在相应dialog类中,oninitdialog函数中添加初始化信息。

EnableScrollBar( ESB_ENABLE_BOTH);//使两端的箭头可用m_scrollbar.SetScrollRange(0,100);//设置范围0到100m_scrollbar.SetScrollPos(50);//设置当前位置还可设置很多,具体参见CScrollBar百度百科,在此只罗列如上设置。

接着在classwizad中添加WM_HSCROLL消息,得到函数。

一种美化控件滚动条(ScrollBar)的方法-VC知识库文章

一种美化控件滚动条(ScrollBar)的方法-VC知识库文章

一种美化控件滚动条(ScrollBar)的方法-VC知识库文章一种美化控件滚动条(ScrollBar)的方法作者:Nobita下载源代码摘要:本文采用“遮挡”方法对MFC控件中的滚动条(ScrollBar)进行了美化工作,即保留了滚动条的功能,又美化了界面关键字:滚动条(ScrollBar)一、说明我们大家对MFC控件本身的美化工作都比较熟悉了,这方面的文章也是比较多的。

但是对于控件中的滚动条美化,相关资料却比较少。

已有的实现采用的是禁用控件的滚动条,然后在原有的位置上重新绘制滚动条,为了实现滚动条的功能,需要在代码中进行一些较复杂的计算。

本文采用的“遮挡”方法只是单纯的对滚动条界面进行美化,而功能则保持原有的实现。

二、原理一个人要想不被人认出,除了整容还有什么办法?还可以采用戴面具挡脸的方法。

一般我们对MFC控件进行美化都是对比如WM_CTLCOLOR、WM_DRAWITEM之类的消息进行处理,这也相当于“整容”了。

滚动条只是作为控件的一部分没有相应的消息可以重写,所以本文设想做一个“面具”来遮挡滚动条,这样即可以保留滚动条的原有功能不变,又看到一个漂亮的“面具”。

三、实现“遮挡”方法的原理很简单,要想实现这个方法需要解决以下几个问题:1.“面具”的材料是什么?要想把一个控件中的滚动条挡住又不影响功能的使用,那就需要一个可以穿透消息的东西。

很简单,立刻想到了静态文本控件(CStatic)。

2.“面具”的形状是什么样的?Windows API函数:BOOL GetScrollBarInfo(HWND hwnd, LONG idObject, PSCROLLBARINFO psbi);参数psbi指向的SCROLLBARINFO结构体包含有具体的大小。

3.“面具”如何一直挂在滚动条上?这个问题是关键所在,不解决它一切免谈。

首先要让控件绘制时不去绘制滚动条的部分,这可以通过给控件设置WS_CLIPSIBLINGS属性实现。

MFC滚动条实例

MFC滚动条实例

MFC中滚动条控件的总结和实例1在MFC中滚动条对应CScrollBar类,它在MFC中的位置如下图所示。

2 CScrollBar常用的方法如下表所示。

(1)CScrollbar m_Scrollbar;(2)在设置滚动条控件时,要通过如下方法设置其范围CScrollBar::SetScrollRange()例如,设置滚动范围为-100到100的垂直滚动条m_Scrollbar.SetScrollRange(-100,100);(3)通过SetScrollPos()设置滚动块当前位置例如,滚动快的位置在-100到100的中间,即为0的位置m_Scrollbar.SetScrollPos(0);(4)通过GetScrollPos()得到当前滑块位置的值是数值型int i= m_Scrollbar.GetScrollPos()(5)滚动条5个消息:SB_THUMBTRACK: //拖动滑块SB_LINEDOWN: //单击滚动条向下的箭头SB_LINEUP: //单击滚动条向上的箭头SB_PAGEDOWN: //单击箭头与滚块之间的区域SB_PAGEUP: //单击箭头与滚块之间的区域3.滚动条实例BOOL CMyDlg::OnInitDialog(){ CDialog::OnInitDialog();……// TODO: Add extra initialization herem_Scrollbar.SetScrollRange(0,20);m_Scrollbar.SetScrollPos(10);char sPos[10];itoa(m_Scrollbar.GetScrollPos(),sPos,10); m_Edit.SetSel(0,-1);m_Edit.ReplaceSel(sPos);UpdateData(FALSE);return TRUE;}void CMyDlg::OnVScroll(……){ // TODO: Add your message handler code herechar sPos[10];int iNowPos;if(pScrollBar==&m_Scrollbar){switch(nSBCode){ case SB_THUMBTRACK: //拖动滑块m_Scrollbar.SetScrollPos(nPos);itoa(nPos,sPos,10);m_Edit.SetSel(0,-1);m_Edit.ReplaceSel(sPos);break;case SB_LINEDOWN: //单击滚动条向下的箭头iNowPos=m_Scrollbar.GetScrollPos();iNowPos=iNowPos+1;if(iNowPos>20)iNowPos=20;m_Scrollbar.SetScrollPos(iNowPos);itoa(m_Scrollbar.GetScrollPos(),sPos,10);m_Edit.SetSel(0,-1);m_Edit.ReplaceSel(sPos);break;case SB_LINEUP: //单击滚动条向上的箭头iNowPos=m_Scrollbar.GetScrollPos();iNowPos=iNowPos-1;if(iNowPos<0)iNowPos=0;m_Scrollbar.SetScrollPos(iNowPos);itoa(m_Scrollbar.GetScrollPos(),sPos,10);m_Edit.SetSel(0,-1);m_Edit.ReplaceSel(sPos);break;case SB_PAGEDOWN: //单击箭头与滚块之间的区域iNowPos=m_Scrollbar.GetScrollPos();iNowPos=iNowPos+3;if(iNowPos>20)iNowPos=20;m_Scrollbar.SetScrollPos(iNowPos);itoa(m_Scrollbar.GetScrollPos(),sPos,10);m_Edit.SetSel(0,-1);m_Edit.ReplaceSel(sPos);break;case SB_PAGEUP: //单击箭头与滚块之间的区域iNowPos=m_Scrollbar.GetScrollPos();iNowPos=iNowPos-3;if(iNowPos<0)iNowPos=0;m_Scrollbar.SetScrollPos(iNowPos);itoa(m_Scrollbar.GetScrollPos(),sPos,10);m_Edit.SetSel(0,-1);m_Edit.ReplaceSel(sPos);break;}//case}//ifCDialog::OnVScroll(nSBCode, nPos, pScrollBar); }。

mfc基本控件

mfc基本控件

mfc基本控件
在MFC(Microsoft Foundation Classes)中,有许多基本的控件可用于创建用户界面。

以下列出了一些常见的MFC基本控件:
1. CButton:按钮控件,用于响应用户的点击操作。

2. CEdit:编辑框控件,用于显示和编辑文本。

3. CStatic:静态文本控件,用于显示静态文本内容。

4. CListBox:列表框控件,用于显示列表并允许用户选择其中的项。

5. CComboBox:组合框控件,结合了文本框和下拉列表框的功能。

6. CSliderCtrl:滑块控件,用于表示一个范围,用户可以通过拖动滑块选择值。

7. CProgressCtrl:进度条控件,用于显示任务或操作的进度。

8. CScrollBar:滚动条控件,用于使用滚动条浏览内容。

9. CTreeViewCtrl:树视图控件,用于显示树形结构的数据。

10. CListViewCtrl:列表视图控件,用于以表格形式显示数据。

这只是一些常见的MFC基本控件示例,MFC还提供了其他许多控件和自定义控件的扩展功能。

通过使用这些基本控件,您可以构建丰富的用户界面并与用户进行交互。

3.常用控件

3.常用控件

说明 设置进度条范围的最大值 设置进度条范围的最小值 设置进度条当前的位置 确定填充控件的小方块的高度和宽度
用进度条指示一个大数组的计算进度。 用进度条指示一个大数组的计算进度。 用进度条指示计时器工作进度。 用进度条指示计时器工作进度。
3.列表框的方法: .列表框的方法:
可以使用AddItem、Clear和RemoveItem等三种方法, 用来在运行期 、 等三种方法, 可以使用 和 等三种方法 间修改列表框的内容。 间修改列表框的内容。 AddItem:该方法用来在列表框中插入一行文本,其格式为: (1)AddItem:该方法用来在列表框中插入一行文本,其格式为: 列表框.AddItem项目字符串[ 索引值] 列表框.AddItem项目字符串[,索引值] 项目字符串 (2)Clear:该方法用来清除列表框中的全部内容,格式为: Clear:该方法用来清除列表框中的全部内容,格式为: 列表框. 列表框.Clear RemoveItem:该方法用来删除列表框中指定的项目,其格式为: (3)RemoveItem:该方法用来删除列表框中指定的项目,其格式为: 列表框. 列表框. RemoveItem 索引值
常用控件
计算机应用基础 Visual Basic 程序设计
常用控件 1.选择性控件 选择性控件
框架( 框架(Frame) ) 单选钮( ●单选钮(OptionButton)和检查框(CheckBox) )和检查框( ) 列表框( ●列表框(ListBox)和组合框(ComboBox) )和组合框( )
框架的常用属性
属性 Caption Font Forecolor Enabled 说明 设置框架的标题,通常用来说明组名称 设置框架的标题, 设置框架标题的字体 设置标题文字的颜色 设置框架是否可用, 设置框架是否可用,若设为 False,框架的标题将灰色显示,且框架中其他控 ,框架的标题将灰色显示, 件同时被禁用

滚动条控件(HscrollBar和VscrollBar)

滚动条控件(HscrollBar和VscrollBar)

滚动条控件(HscrollBar和VscrollBar)利用滚动条控件可对与其相关联的其它控件中所显示的内容的位置进行调整。

VB的控件工具箱中有水平滚动条(HscrollBar)和垂直滚动条(VscrollBar)两种形式的控件。

水平滚动条进行水平方向的调整,垂直滚动条进行垂直方向的调整,两种滚动条也可同时使用。

两种滚动条除外观不同,作用和使用方法是相同的,下面将以水平滚动条为例,介绍滚动条的属性、方法和事件。

程序运行时,水平滚动条在窗体上的外观如图2.12所示,滚动条两端带箭头的按钮称之为滚动箭头,两滚动箭头之间的部分称之为滚动框,滚动框中可以左右移动的滑块称之为滚动滑块。

小幅度的调整通常通过单击或连续单击滚动箭头来实现,如果要进行较大幅度的调整,可用鼠标单击或连续单击滚动框,如果要进行快速调整,则可拖动滚动滑块。

1.常用属性(1)Value属性:返回一个与滚动滑块位置对应的值。

在程序代码中,将该属性值和其它容器中的对象的坐标有机地联系在一起,即可实现容器中的对象位置的调整。

(2)Min属性:规定Value属性的最小取值,即当滚动滑块在滚动框最左端时,Value属性的值。

(3)Max属性:规定Value属性的最大取值,即当滚动滑块在滚动框最右端时,Value属性的值。

(4)SmallChange属性:用于设置程序运行时,鼠标单击滚动箭头一次,Value属性值的改变量。

(5)LargeChange属性:用于设置程序运行时,鼠标单击滚动框一次,Value 属性值的改变量。

注意:Value属性值的变化范围不能超出由Min属性和Max属性两者规定的范围。

滚动条还有许多其它属性,其作用和用法可参考其它对象的同名属性。

滚动条可以调用Move、Refresh等方法,但很少使用。

2.常用事件(1)Scroll事件:程序运行中,用鼠标拖动滚动滑块时,引发该事件。

(2)Change事件:程序运行中,用鼠标单击滚动箭头或滚动框,滚动滑块移动到目标位置后,引发该事件。

滑动条控件(CScrollBar)的简单详细的方法

滑动条控件(CScrollBar)的简单详细的方法

1 VC++6.0下新建一个基本对话框的工程,往对话框中添加一个水平滑动条控件和一个编辑框控件,如下图所示:为水平滑动条关联一个CScrollBar类型的变量m_scroll,为编辑框关联一个int类型的变量m_show.2在初始化函数OnInitDialog()中对水平滑动条的位置和编辑框进行初始化: m_scroll.SetScrollRange(0,100);//水平滑动条范围设置为0到100m_scroll.SetScrollPos(10); //水平滑动条初始位置设置为10m_show=10;//编辑框中初始显示为10UpdateData(FALSE);编译运行后,如下图所示:3添加消息WM_HSCROLL的响应函数,添加如下代码:OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar){int position=m_scroll.GetScrollPos();//获取水平滑动条的位置switch(nSBCode)//水平滑动条的不同消息响应{case SB_LINELEFT://向左滚动一行position--;break;case SB_LINERIGHT://向右滚动一行position++;break;case SB_PAGELEFT: //向左滚动一页position-=10;break;case SB_PAGERIGHT: //向右滚动一页position+=10;break;case SB_THUMBTRACK://拖动滑动块position=nPos;//这里的nPos就是函数OnHScroll()的第2个参数break;case SB_LEFT://移动到最左边position=0;break;case SB_RIGHT://移动到最右边position=100;break;}if(position>100) position=100;if(position<0) position=0;m_scroll.SetScrollPos(position);//根据position的值来设定滑动块的位置m_show=position;//在编辑框中显示position的值UpdateData(FALSE);} 编译运行即可在编辑框中显示滑动块所在的位置了.运行后如下图:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最新评论及回复
gfffffffffffffffff... 持续关注~。请问鸡啄米交流群在哪呢? 31楼说得很合我意有木有。博主写得很... OnSetActive 函数本身有下... 照这个说法,什么都有缺点,那么什么都可以替 代 感谢鸡啄米 呵呵 MFC学得很受用 double r(3.0); VS... 投资二十元,净赚一千万,免费下载百万... 开始学MFC,本节内容蛮多的,有些难... 赞一个,不错,就这这博客看完一章后又...
void GetScrollRange(LPINT lpMinPos, LPINT lpMaxPos) const;
获取滚动条的滚动范围。参数lpMinPos指向滚动条滚动范围的最小值,参数lpMaxPos指向滚动 条滚动范围的最大值。
void SetScrollRange(int nMinPos, int nMaxPos, BOOL bRedraw = TRUE);
SB_BOTTOM/SB_RIGHT:滚动到底端(右端) SB_TOP/SB_LEFT:滚动到顶端(左端) SB_LINEDOWN/SB_LINERIGHT:向下(向右)滚动一行(列) SB_LINEUP/SB_LINELEFT:向上(向左)滚动一行(列) SB_PAGEDOWN/SB_PAGERIGHT:向下(向右)滚动一页 SB_PAGEUP/SB_PAGELEFT:向上(向左)滚动一页 SB_THUMBPOSITION:滚动到指定位置 SB_THUMBTRACK:滚动框被拖动。可利用该消息来跟踪对滚动框的拖动 SB_ENDSCROLL:滚动结束
// 滚动框的位置,当fMask 中包含SIF_POS 有效
8.
int nTrackPos;
// 滚动时滚动框的位置,当fMask 中包含SIF_TRACKP
OS 时有效,该参数只能查询,不能设置,最好不要用该参数来查询拖动时滚动框的位置
9. } SCROLLINFO, *LPSCROLLINFO; 10. typedef SCROLLINFO CONST *LPCSCROLLINFO;
参数nMask 的含义与SCROLLINFO 结构体中的fMask一样。该函数在获取信息成功则返回TRUE ,否则返回FALSE。
BOOL SetScrollInfo(LPSCROLLINFO lpScrollInfo, BOOL bRedraw = TRUE);
用于设置滚动条的各种参数信息。参数lpScrollInfo为指向SCROLLINFO结构体变量的指针,参数 bRedraw表示是否需要重绘滚动条,如果为TRUE,则重绘。该函数操作成功则返回TRUE,否则返回 FALSE。
4.
int nMin;

// 滚动范围最小值,当fMask 中包含SIF_RANGE 时有
5.
int nMax;

// 滚动范围最大值,当fMask 中包含SIF_RANGE 时有
6.
UINT nPage;
含 SIF_PAGE时 有 效
// 页尺寸,用来确定比例滚动框的大小,当fMask中包
7.
int nPos;
从滚动条的创建形式来分,有标准滚动条和滚动条控件两种。像列表框和组合框设置了WS_HSC ROLL 或WS_VSCROLL风格以后出现的滚动条,不是一个独立的窗口,而是这些窗口的一部分,这 就是标准滚动条。而滚动条控件是一个独立的窗口,它可以获得焦点,响应某些操作。
滚动条控件的创建
MFC也为滚动条控件的操作提供了类,即为rollBar类。
OnHScroll()与OnVScroll()函数
无论是标准滚动条,还是滚动条控件,滚动条的通知消息都是用WM_HSCROLL 和WM_VSCRO LL消息发送出去的。对这两个消息的默认处理函数是CWnd::OnHScroll和CWnd::OnVScroll,一般需 要在派生类中对这两个函数进行重载,以实现滚动功能。也就是说,假设在一个对话框中放入了一个 水平滚动条,我们可以在对话框类中重载OnHScroll函数,并在OnHScroll函数中实现滚动功能。
站内搜索
请输入搜索内容..
分类标签
编程入门 (124) VC++ (72) MFC (62) C++ (61) VS2010 (60) Android (38) 苹果 (37) 平板电脑 (31) 智能手机 (31) 谷歌 (28) iPhone (18) iPad (17) Windows (17) 设计模式 (15) 三星 (12) 腾讯 (11) 程序员 (11) 微软 (10) Facebook (8) 新浪 (8) Galaxy (7)
鸡啄米
聚焦互联网、数码、软件开发和编程入门的IT休闲吧
首页 IT互联网 数码生活 软件开发 职场人生 娱乐休闲 安卓开发 留言簿
RSS订阅
首页 » 软件开发 » VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)
VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)
);
此函数与其他控件类的Create函数原型基本相同。参数dwStyle指定滚动条控件的风格,rect指定 滚动条控件的位置和尺寸,pParentWnd为指向滚动条控件父窗口的指针,nID指定滚动条控件的ID。 下面鸡啄米简单介绍几个主要的滚动条控件风格,更加具体的可以查阅MSDN。
SBS_HORZ:指定滚动条为水平滚动条。如果没有指定SBS_BOTTOMALIGN或SBS_TOPALIGN 风格,则滚动条的高度、宽度和位置由Create函数的rect参数给出。
分类标签: 编程入门
VS2010
VC++
MFC
订阅鸡啄米
回顾上一节,鸡啄米讲的是组合框控件Comb o Box的使用。本节详解滚动条控件Scroll Bar的相 关内容。
滚动条控件简介
滚动条大家也很熟悉了,Windows窗口中很多 都有滚动条。前面讲的列表框和组合框设置了相应 属性后,如果列表项显示不下也会出现滚动条。滚 动条分为水平滚动条(Horizontal Scroll Bar)和垂 直滚动条(Vertical Scroll Bar)两种。滚动条中有 一个滚动块,用于标识滚动条当前滚动的位置。我 们可以拖动滚动块,也可以用鼠标点击滚动条某一位置使滚动块移动。
的左边缘对齐。滚动条宽度为系统滚动条的默认宽度。 SBS_RIGHTALIGN:与SBS_VERT配合使用。滚动条的右边缘与Create函数的rect参数指定矩形
的右边缘对齐。滚动条宽度为系统滚动条的默认宽度。
dwStyle参数可以是以上风格中某几个的组合,另外一般也会用到WS_CHILD、WS_VISIBLE风格 。例如,创建一个水平滚动条控件,dwStyle参数应该为WS_CHILD|WS_VISIBLE|SBS_HORZ,创建 垂直滚动条控件时dwStyle参数应该为WS_CHILD|WS_VISIBLE|SBS_VERT。
SBS_BOTTOMALIGN:与SBS_HORZ配合使用。滚动条的下边缘与Create函数的rect参数指定 矩形的下边缘对齐。滚动条高度为系统滚动条的默认高度。
SBS_LEFTALIGN:与SBS_VERT配合使用。滚动条的左边缘与Create函数的rect参数指定矩形
1 四川哪所职业学校好? 2 雅慧国际语言 028-85577096 3 顺通无缝异型管价格 质优价廉 4 OPNET的中国区代理(怡嘉行) 5 四核笔记本500元火热促销中 6 风水大师预测你一生有多少财富 7 10大风水禁忌,你知道多少?? 8 2013职称计算机考试题库下载 9 浪潮服务器冠军品质 智能高效
CScrollBar类的主要成员函数
BOOL GetScrollInfo(LPSCROLLINFO lpScrollInfo, UINT nMask = SIF_ALL);
获取的滚动条的参数信息,该信息为SCROLLINFO结构体的形式。参数lpScrollInfo为指向SCRO LLINFO结构体变量的指针。SCROLLINFO结构体的定义如下:
完全随机文章
iPhone5上市时间:百思买泄露文件中... 鸡啄米:C++编程入门系列之十(函数的... Android在欧洲智能手机市场击败iPh... 汇总iPhone5和iPhone4S的传闻报道 ... Facebook与iPhone 诺基亚发布首批Windows Phone智能手... 鸡啄米:C++编程入门系列之二十七(数... 鸡啄米:C++编程入门系列之三十四(数... 鸡啄米:C++编程入门系列之三十九(继... 2011年IT互联网大事记 鸡啄米:C++编程入门系列之四十四(多... 360与新浪微博共享登录账号,实现合... 苹果争取域名的控制权 推荐九款最优秀的Android平板电脑 职场人面对升职机会该怎么办 移动互联网两强相争:新浪微博VS腾讯... iPhone5将成为苹果败笔的四点理由 MFC六大核心机制之二:运行时类型识... Mysql C语言API编程入门讲解之详细... 2013年IT互联网行业大预测
用于指定滚动条的滚动范围。参数nMinPos 和nMaxPos 分别指定了滚动范围的最小值和最大值 ,两者的差不得超过32767。当两者都为0 时,滚动条将被隐藏。参数bRedraw 表示是否需要重绘滚 动条,如果为TRUE,则重绘。
iOS (7) 应用程序 6) 诺基亚 (6) 奇虎360 (6) 软件架构 (5) 阿里巴巴 (5) 亚马逊 (5) 电子商务 (5) Mysql (5) 周鸿祎 (5) 雅虎 (4) Google+ (4) Windows Phone (4) 黑莓 (4) HTC (4) 惠普 (3) 软件工程师 (3) 娱乐 (3) 天猫 (3) Twitter (3) 搜狗 (3) 京东商城 (3) 游戏 (3) 职场攻略 (3) 更多标签
相关文档
最新文档