加载中…
个人资料
banash
banash
  • 博客等级:
  • 博客积分:0
  • 博客访问:3,191
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

CSliderCtrl的用法.

(2011-07-19 23:34:20)
标签:

杂谈

1、Slider属性:


* GetRange,SetRange函数
用于查询和设置挪动条的取值范围,默感受0~100。函数定义形式如下:
void GetRange(int &nMin,int &nMax) const;
void SetRange(int nMin,int nMax,BOOL bRedrGETaw=FALSE);

* GetPos,SetPos函数
用于查询和设置挪动条的目前值。函数定义形式如下:
int GetPos() const;
int SetPos(int nPos);

* GetLineSize,SetLineSize函数
用于查询和设置在按一下右或左箭头时滑块的挪动量,默感受1个单位。函数定义形式如下:
int GetLineSize() const;
int SetLineSize(int nSize);

* GetPageSize,SetPageSize函数
用于查询和设置函滑块和块挪动量,块挪动量是指当按下PgUp或PgDown时滑块的挪动量。函数定 义形式如下:
int GetPageSize() const;
int SetPageSize(int nSize);

* SetTicFreq函数
用于设置挪动条刻度的频度。默感受一个单位一个函数。函数定义形式如下:
void SetTicFreq(int nFreq);

* SetTic函数
用于在指定的位置设置刻度。Windows默认的刻度是平衡的。函数定义形式如下:
BOOL SetTic(int nTic);

* ClearTics函数
用于打扫所有的刻度。函数定义形式如下:

void ClearTics(BOOL bRedraw=FALSE);

还有一篇是网上转来的关于CSliderCtrl的翔实利用的:

  挪动条扼制(Slider Control)也叫轨道条扼制,其重要是用一个带有轨道和滑标的小窗口以及窗口上的刻度,来让用户抉择一个失散数据或一个继续的数值区间。穿越鼠标或键盘来举行数据的抉择垄断,这在WIN98/95中的许多利用过程中都能够看到,如扼制面板中的鼠标等,挪动条既能够是程度措施的也能够是垂直措施的。挪动条扼制的风格如下:

  TBS_HORZ 挪动条是程度方向的

  TBS_VERT 挪动条是垂直方向的

  TBS_LEFT 挪动条位于窗口左侧

  TBS_RIGHT 挪动条位于窗口右侧

  TBS_TOP 挪动条位于窗口顶部

  TBS_BOTTOM 挪动条位于窗口底端

  TBS_BOTH 挪动条位于窗口两侧

  TBS_AUTOTICKS挪动条具有刻度,默认

  TBS_NOTICKS 挪动条不具有刻度

  挪动条的刻度条在每一个数值位置揭示一个刻度符号,万一在挪动条上揭示某一数值抉择区间,则应利用风格TBS_ENABLESELRANGE,此刻抉择区间两个不再是刻度符号,而是一个小的三角形符号。另外,利用风格TBS_NOTHUMB会使滑标消隐起来。

  挪动条扼制在MFC类库中被封装为CSliderCtrl扼制,其重要垄断是设置刻度范围、描摹刻度符号、设置抉择范围和目前滑标位置等。当用户举行交互垄断时,挪动条扼制将向其父窗口发送消息WM_HSCROLL,因而在利用过程中应重载父窗口的OnHScroll()成员函数,以便抵消息举行准确处理系统发送的通知代码、滑标位置和指向CSliderCtrl对象的指针等。由于琢磨到和程度卷动杆公用统一个成员函数,OnHScroll() 函数参数表中的指针变量被定义为CScrollBar*种类,由于切实上消息是由挪动条发生的,因而在过程中定然把这个指针变量迫使转换为 CSliderCtrl*种类。挪动条和卷动杆的消息代码和含义都极其相仿如TB_BOTTOM等,因而这种处理措施比拟科学。SetRange()函数用来设置范围,SetPos()函数用来设置目前位置。

  (二)挪动条扼制的对象构造

  挪动条扼制的发生措施

   CsliderCtrl &SliderCtrl 发生挪动条扼制对象构造

   Create 发生挪动条扼制对象并绑定对象

  挪动条扼制类CSliderCtrl::Create的调用款式如下:

   BOOL Create( DWORD dwStyle,c4e3.com const RECT& rect, CWnd* pParentWnd, UINT nID );

  其中参数dwStyle用来确定挪动条扼制风格;参数rect用来确定挪动条扼制的大小和位置;参数pParentWnd用来确定挪动条扼制的父窗口指针;参数nID用来确定挪动条扼制的扼制符ID值。

  2、挪动条扼制的类属性

  挪动条扼制对象的类属性包括获得挪动条大小GetLineSize、设置挪动条大小SetLineSize、获得挪动条页大小 GetPageSize、设置挪动条页大小SetPageSize、获得挪动条最大位置GetRangeMax、获得挪动条最小位置 GetRangeMin、获得挪动条范围GetRange、设置滑块最小位置SetRangeMin、设置滑块最大位置SetRangeMax、设置挪动条范围SetRange、获得滑块目前位置GetSelection、设置滑块目前位置SetSelection、获得挪动条目前位置GetPos和设置挪动条目前位置SetPos等。

  3、挪动条扼制的垄断措施

  挪动条扼制的垄断措施包括打扫挪动条目前抉择ClearSel、检讨挪动条目前位置是否在最大最小位置之间VerifyPos和打扫目前刻度符号ClearTics。

  挪动条扼制的利用技巧示例

  1、利用利用过程向导AppWizard生成基于对象框的利用过程CSlidDlg;

  2、在对话框中设置挪动条扼制,其ID为IDC_SLIDER;

  3、在对话框初始代码中添置扼制的范围和位置:

  (1)在SlidDlg.h中设置数据成员,用来表示挪动条的目前值:

//SlidDlg.h

class CSlidDlg:public Cdialog

{ ......//其它代码

public:

int m_nCur;

......//其它代码

}

  (2)在SlidDlg.cpp中设置初始事态

BOOL CSlidDlg::OnInitDialog()

{ Cdialog::OnInitDialog();

......//其它代码

//TODO:Add extra initialization here

CSliderCtrl *pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_SLLIDER);

pSlidCtrl->SetRange(1,5,TRUE);//设置挪动条范围

pSlidCtrl->SetPos(2);//设置挪动条位置

......//其它代码

return TRUE;

}

  (3)健全挪动条的消息处理,利用类向导ClassWizard添置对话框窗口的WM_HSCROLL消息处理函数,并获得滑标所指位置值:

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

{ //TODO:Add your message handler?

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

CSliderCtrl *pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_SLLIDER);

m_nCur=pSlidCtrl->GetPos();//取贴切前位置值

}

Example ex = new Example(); Dimension d = ex.getValues(); d.height = -5; d.width = -10;

关于Twitter的搜查引擎优化.

内核比拟:2.4 和 2.6 上的 Web 服务.

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有