请问如下图这个是什么vc activex控件 编程?用什么编程软件开发的,谢谢

鸡啄米;聚焦互联网、数码、软件开发和编程入门的IT休闲吧;首页IT互联网数码生活软件开发职场人生娱乐休闲安;首页?软件开发?VS2010/MFC编程入门之二;VS2010/MFC编程入门之二十六(常用控件:;分类标签:;编程入门;VS2010VC++MFC;回顾上一节,鸡啄米讲的是组合框控件ComboBo;滚动条控件简介;滚动条大家也很熟悉了,Windows
鸡啄米聚焦互联网、数码、软件开发和编程入门的IT休闲吧首页IT互联网数码生活软件开发职场人生娱乐休闲安卓开发留言簿首页 ? 软件开发 ? VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)分类标签: 编程入门
回顾上一节,鸡啄米讲的是组合框控件Combo Box的使用。本节详解滚动条控件Scroll Bar的相关内容。
滚动条控件简介
滚动条大家也很熟悉了,Windows窗口中很多都有滚动条。前面讲的列表框和组合框设置了相应属性后,如果列表项显示不下也会出现滚动条。滚动条分为水平滚动条(Horizontal Scroll Bar)和垂 直滚动条(Vertical Scroll Bar)两种。滚动条中有一个滚动块,用于标识滚动条当前滚动的位置。我们可以拖动滚动块,也可以用鼠标点击滚动条某一位置使滚动块移动。
从滚动条的创建形式来分,有标准滚动条和滚动条控件两种。像列表框和组合框设置了WS_HSCROLL 或WS_VSCROLL风格以后出现的滚动条,不是一个独立的窗口,而是这些窗口的一部分,这就是标准滚动条。而滚动条控件是一个独立的窗口,它可以获得焦点,响应某些操作。
滚动条控件的创建
MFC也为滚动条控件的操作提供了类,即为CScrollBar类。
滚动条控件的创建依然有两种方式,一种是直接在Toolbox中将滚动条控件拖入对话框模板,然后添加控件变量使用,另一种就是用CScrollBar类的Create成员函数动态创建。这两种方式适用于不同的场合。
CScrollBar类的成员函数Create的函数原型如下:virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID );
此函数与其他控件类的Create函数原型基本相同。参数dwStyle指定滚动条控件的风格,rect指定滚动条控件的位置和尺寸,pParentWnd为指向滚动条控件父窗口的指针,nID指定滚动条控件的ID。下面鸡啄米简单介绍几个主要的滚动条控件风格,更加具体的可以查阅MSDN。
SBS_HORZ:指定滚动条为水平滚动条。如果没有指定SBS_BOTTOMALIGN或SBS_TOPALIGN风格,则滚动条的高度、宽度和位置由Create函数的rect参数给出。
SBS_VERT:指定滚动条为垂直滚动条。如果没有指定SBS_RIGHTALIGN或SBS_LEFTALIGN风格,则滚动条的高度、宽度和位置由Create函数的rect参数给出。
SBS_TOPALIGN:与SBS_HORZ配合使用。滚动条的上边缘与Create函数的rect参数指定矩形的上边缘对齐。滚动条高度为系统滚动条的默认高度。
SBS_BOTTOMALIGN:与SBS_HORZ配合使用。滚动条的下边缘与Create函数的rect参数指定矩形的下边缘对齐。滚动条高度为系统滚动条的默认高度。
SBS_LEFTALIGN:与SBS_VERT配合使用。滚动条的左边缘与Create函数的rect参数指定矩形RSS订阅订阅鸡啄米
1四川哪所职业学校好?2雅慧国际语言 028-顺通无缝异型管价格 质优价廉4 OPNET的中国区代理(怡嘉行)5四核笔记本500元火热促销中6风水大师预测你一生有多少财富710大风水禁忌,你知道多少??82013职称计算机考试题库下载9浪潮服务器冠军品质 智能高效 站内搜索请输入搜索内容..分类标签编程入门 (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)的左边缘对齐。滚动条宽度为系统滚动条的默认宽度。
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。
CScrollBar类的主要成员函数
BOOL GetScrollInfo(LPSCROLLINFO lpScrollInfo, UINT nMask = SIF_ALL);
获取的滚动条的参数信息,该信息为SCROLLINFO结构体的形式。参数lpScrollInfo为指向SCROLLINFO结构体变量的指针。SCROLLINFO结构体的定义如下:C++代码1. typedef struct tagSCROLLINFO {
// 结构的尺寸(字节为单位)
// 说明结构中的哪些参数是有效的,可以是屏蔽值的组合,如SIF_POS|SIF_PAGE,若为SIF_ALL则整个结构都有效
// 滚动范围最小值,当fMask 中包含SIF_RANGE 时有效
// 滚动范围最大值,当fMask 中包含SIF_RANGE 时有效
// 页尺寸,用来确定比例滚动框的大小,当fMask中包含SIF_PAGE时有效
// 滚动框的位置,当fMask 中包含SIF_POS 有效
// 滚动时滚动框的位置,当fMask 中包含SIF_TRACKPOS 时有效,该参数只能查询,不能设置,最好不要用该参数来查询拖动时滚动框的位置
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。
int GetScrollPos( )
获取滚动块的当前位置。如果失败则返回0。
int SetScrollPos(int nPos, BOOL bRedraw = TRUE);
将滚动块移动到指定位置。参数nPos指定了滚动块的新位置,参数bRedraw 表示是否需要重绘滚动条,如果为TRUE,则重绘。函数返回滚动框原来的位置,若操作失败则返回0。
void GetScrollRange(LPINT lpMinPos, LPINT lpMaxPos)
获取滚动条的滚动范围。参数lpMinPos指向滚动条滚动范围的最小值,参数lpMaxPos指向滚动条滚动范围的最大值。
void SetScrollRange(int nMinPos, int nMaxPos, BOOL bRedraw = TRUE);
用于指定滚动条的滚动范围。参数nMinPos 和nMaxPos 分别指定了滚动范围的最小值和最大值,两者的差不得超过32767。当两者都为0 时,滚动条将被隐藏。参数bRedraw 表示是否需要重绘滚动条,如果为TRUE,则重绘。iOS (7)应用程序 (7)微博 (7)搜索引擎 (7)百度 (7)操作系统 (6)社交网络 (6)诺基亚 (6)奇虎360 (6)软件架构 (5)阿里巴巴 (5)亚马逊 (5)电子商务 (5)Mysql (5)周鸿t (5)雅虎 (4)Google+ (4)Windows Phone (4)黑莓 (4)HTC (4)惠普 (3)软件工程师 (3)娱乐 (3)天猫 (3)Twitter (3)搜狗 (3)京东商城 (3)游戏 (3)职场攻略 (3)更多标签完全随机文章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互联网行业大预测最新评论及回复gfffffffffffffffff...持续关注~。请问鸡啄米交流群在哪呢?31楼说得很合我意有木有。博主写得很...OnSetActive 函数本身有下...照这个说法,什么都有缺点,那么什么都可以替代感谢鸡啄米 呵呵 MFC学得很受用double r(3.0); VS...投资二十元,净赚一千万,免费下载百万...开始学MFC,本节内容蛮多的,有些难...赞一个,不错,就这这博客看完一章后又...
OnHScroll()与OnVScroll()函数
无论是标准滚动条,还是滚动条控件,滚动条的通知消息都是用WM_HSCROLL 和WM_VSCROLL消息发送出去的。对这两个消息的默认处理函数是CWnd::OnHScroll和CWnd::OnVScroll,一般需要在派生类中对这两个函数进行重载,以实现滚动功能。也就是说,假设在一个对话框中放入了一个水平滚动条,我们可以在对话框类中重载OnHScroll函数,并在OnHScroll函数中实现滚动功能。
这两个函数的声明如下:
afx_msg void OnHScroll(UINT nSBCode,UINT nPos,CScrollBar* pScrollBar);
afx_msg void OnVScroll(UINT nSBCode,UINT nPos,CScrollBar* pScrollBar);
参数nSBCode是通知消息码,主要通知码及含义的介绍下面已列出。nPos 是滚动框的位置,只有在nSBCode为SB_THUMBPOSITION或SB_THUMBTRACK时,该参数才有意义。如果通知消息是滚动条控件发来的,那么pScrollBar 是指向该控件的指针,如果是标准滚动条发来的,则pScrollBar 为NULL。
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:滚动结束
CScrollBar类应用实例
讲完了基础知识,鸡啄米还是给大家一个简单的实例。例子非常简单,就是在一个对话框中加入一个水平滚动条控件和一个编辑框控件,无论滚动条控件是在滚动还是静止,编辑框中都显示滚动块的当前位置。以下是具体开发步骤:
1. 创建一个基于对话框的MFC工程,名称设置为“Example26”。
2. 在自动生成的对话框模板IDD_EXAMPLE26_DIALOG中,删除“TODO: Place dialog controls here.”静态文本控件、“OK”按钮和“Cancel”按钮。添加一个Horizontal Scroll Bar控件,ID设置为IDC_HORI_SCROLLBAR。再添加一个静态文本控件和一个编辑框,静态文本控件的Caption属性设为“滚动块当前位置:”,编辑框的ID设为IDC_HSCROLL_EDIT,Read Only属性设为True。此时的对话框模板如下图:
3. 为滚动条IDC_HORI_SCROLLBAR添加CScrollBar类型的控件变量m_horiScrollbar。
4. 在对话框初始化时,我们需要设置滚动条的滚动范围和初始位置,并在编辑框中显示初始位置,那么需要修改CExample26Dlg::OnInitDialog()函数为:C++代码1. BOOL CExample26Dlg::OnInitDialog()
CDialogEx::OnInitDialog();
analogMFC_2.obj : ...我复制了后面的代码,为什么运行不了,...请问如何链接MFC库?谢谢哦 看起来有点不懂了我想下 槭颤N我的那宋w的字wo...看似很简单的一句话,或许都能给人以启...是面向对象吧鸡爷 牛逼 再接再厉 弄出好作品来!顶支持博主 加油了很好的教材,赞一个!最近发表VC++操作Word之简明入门教程VC++文件操作之最全篇小菜和大鸟的编程故事之十四:设计模式不能戏说!设计模式怎就不能戏说?小菜和大鸟的编程故事之十三:门面让程序员的程序更加体面小菜和大鸟的编程故事之十二:无熟人难办事?--聊设计模式之迪米特法则小菜和大鸟的编程故事之十一:三层架构 分层开发小菜和大鸟的编程故事之十:会修电脑不会修收音机?--谈设计模式原则小菜和大鸟的编程故事之九:反射--程序员的快乐小菜和大鸟的编程故事之八:初识'策略模式'iOS7的扁平化之漫谈小菜和大鸟的编程故事之七:工厂模式不好用了?小菜和大鸟的编程故事之六:简单工厂模式之体验一位离职员工谈谈危机中的中兴小菜和大鸟的编程故事之五:业务和界面分离移动应用七大UI设计经验5.
// Add \About...\ menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
BOOL bNameV
CString strAboutM
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
// Set the icon for this dialog.
The framework does this automatically
when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE);
// Set big icon
SetIcon(m_hIcon, FALSE);
// Set small icon
// TODO: Add extra initialization here
// 设置水平滚动条的滚动范围为1到100
m_horiScrollbar.SetScrollRange(1, 100);
// 设置水平滚动条的初始位置为20
m_horiScrollbar.SetScrollPos(20);
// 在编辑框中显示20
SetDlgItemInt(IDC_HSCROLL_EDIT, 20);
return TRUE;
// return TRUE
unless you set the focus to a control
5. 现在滚动条还不能正常滚动,并且编辑框中数字也不随滚动改变。根据上面所讲,我们可以重载CExample26Dlg类的OnHScroll函数。具体操作为,在CExample26Dlg类的属性页面的工具栏上点“Messages”按钮,找到WM_HSCROLL消息,添加响应函数就可以了。OnHScroll函数重写后如下:C++代码1. void CExample26Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
// TODO: Add your message handler code here and/or call default
int pos = m_horiScrollbar.GetScrollPos();
// 获取水平滚动条当前位置
switch (nSBCode)
// 如果向左滚动一列,则pos减1
case SB_LINEUP:
// 如果向右滚动一列,则pos加1
case SB_LINEDOWN:
// 如果向左滚动一页,则pos减10
case SB_PAGEUP:
pos -= 10;
// 如果向右滚动一页,则pos加10
case SB_PAGEDOWN:
// 如果滚动到最左端,则pos为1
case SB_TOP:
// 如果滚动到最右端,则pos为100
case SB_BOTTOM:
pos = 100;
// 如果拖动滚动块滚动到指定位置,则pos赋值为nPos的值
case SB_THUMBPOSITION:
// 下面的m_horiScrollbar.SetScrollPos(pos);执行时会第二次进入此函数,最终确定滚动块位置,并且会直接到default分支,所以在此处设置编辑框中显示数值
SetDlgItemInt(IDC_HSCROLL_EDIT, pos);
// 设置滚动块位置
m_horiScrollbar.SetScrollPos(pos);
CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
6. 编译运行程序,弹出结果对话框,可以自己拖动滚动块看是否能正常滚动,并且编辑框中也显示了正确的数值。效果如下:
至于垂直滚动条,其实与水平滚动条类似,大家可以自己写写垂直滚动条的例子,鸡啄米就不再举例了。三亿文库包含各类专业文献、各类资格考试、生活休闲娱乐、幼儿教育、小学教育、高等教育、专业论文、中学教育、VS2010_MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)-软件开发-鸡啄米51等内容。 
 VS2010/MFC 编程入门之二十六(常用控件:滚动条控件 Scroll Bar) VS2010/MFC ...使用更多控件并为控件添加消息处理 函数) VS2010/MFC 编程入门之前言鸡啄米的 ...  VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box) VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar) VS2010/MFC编程入门之二十七(常用控...  VS2010/MFC 编程入门之二十六(常用控件:滚动条控件 Scroll Bar) VS2010/MFC ...使用更多控件并为控件添加消息处理 函数) VS2010/MFC 编程入门之前言鸡啄米的 ...  VS2010/MFC 编程入门之二十六(常用控件:滚动条控件 Scroll Bar) VS2010/MFC ...使用更多控件并为控件添加消息处理 函数) VS2010/MFC 编程入门之前言鸡啄米的 ...  VS2010MFC 编程入门之二十三(常用控件:按钮控件的编程实例)了解了按钮控件 ...4. 在 Group Box“网站”中加入六个 Check Box,Caption 分别设为“鸡啄米”...  编程入门 VS2010 VC++ MFC 目前该教程可以到鸡啄米编程课堂去学习,阅读体验更...VS2010/MFC 编程入门之二十六(常用控件:滚动条控件 Scroll Bar) VS2010/MFC ...  VS2010-MFC 编程入门之前言鸡啄米的 C++编程入门...二十、常用控件:静态文本框上一节鸡啄米讲了颜色...EN_HSCROLL: 用户在水平滚动条上单击鼠标 EN_KILL...  VS2010MFC 编程入门之二十九(常用控件:列表视图控件...默 列表视图控件无滚动条,此风格丌能不 报表格式的...所以鸡啄米 给大家写的是一个报表 List Control ...鏁忔嵎杞?欢寮}

我要回帖

更多关于 vc activex控件 编程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信