分享
 
 
 

win2000下的CD播放器按钮

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

最近失业在家,闲来无事,所以将我平时工作、学习时所积攒下来的类,做了个demo,发给大家。先给大家一个旋转按钮控件,跟CD Player一样哦~~

示例代码:http://61.133.87.165/bbs/attachment.php?s=&postid=216360

另外,我这里还有很多类,有我自己写的,翻译的等等。有需要的跟我联系 ytweiwei@cnuninet.com。希望大家能一同学习、进步!

类的文档如下:(为了方便大家,可以在demo里找到这个文档)

--------------------------------------------------------------------------------------------------------

CRoundSliderCtrl

CSliderCtrl

|

----CRoundSliderCtrl

该类为CSliderCtrl的派生类。扩充实现了圆形滑块控件的功能,并可以自定义控件内的颜色、图片、设置控件内的文字等。

使用该类时的注意事项:

1、需要将MemDc.h文件加入工程中,考虑到该类的普遍性,如果原工程中已有,请不要重复包含。

2、添加鼠标指针资源 IDC_CURSOR

3、该类中用到的某些函数是从Internet上得来,版权仍归其本人所有。

4、该类在VC6下创建的,由于某些特殊性,在VC.NET下编译将出现不正常现象。

使用方法:

1、在对话框中添加滑块控件,并且改变至你想要的大小。

2、在ClassWizard中关联与控件的控件变量(比如 m_rscMySlider)

3、在OnInitDialog()中你可以根据需要来调用SetRange(), SetPos()等函数来设置初始化控件。

当滑动控件指针时,它会发送 WM_SCROLL 消息,所以,你可以在在你的对话框中得到滑块的当前位置。比如:

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

{

if(pScrollBar->GetDlgCtrlID() == IDC_SLIDER)

{

TRACE("WM_HSCROLL by CRoundSliderCtrl received. nPos: %ld? nSBCode: %ld\n", nPos, nSBCode);

}

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

}

你还可以在派生类里重载OnFormatText函数来自定义控件内显示的文字,比如:

CString CFrequenceCtrl::OnFormatText(const CString& strText)

{

CString strFormattedText;

strFormattedText.Format("%.1fMHz", 87.5+GetPos()/360.0*20.6);

return strFormattedText;

}

操作

-------------------------------------------------------------------------------------------

SetRange 设置控件的可调整范围

GetRange 得到控件的可调整范围

SetKnobRadius 设置指针的大小

GetKnobRadius 得到指针的大小

SetDragByKnobOnly 指示是否应该仅让指针根着鼠标走

GetDragByKnobOnly 确定是否应该仅让指针根着鼠标走

SetZero 指定开始时指针默认的角度

GetZero 得到开始时指针默认的角度

SetBitmap 为控件设置位图背景

SetKnobColor 设置指针在鼠标左键未按下时的颜色

SetActiveKnobColor 设置指针在鼠标左键按下激活或者拖动时的颜色

SetDialColor 设置滑块控件的背景颜色

字符的操作

----------------------------------------------------------------------------------------------------------

SetText 为圆形控件内设置字符

GetText 得到当前控件内的字符串

SetTextColor 指定显示在控件中的字符串颜色

SetFontBold 指示控件中的字体是否为黑体

SetFontUnderline 指示控件中的字体是否具有下划线

SetFontItalic 指示控件中的字体是否为斜体

SetFontSize 设置控件中字体的大小

SetFontName 设置控件中字体的名称

SetShowText 指示控件内部是否要显示文字

成员函数

------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetRange

void SetRange( int nMin, int nMax, BOOL bRedraw )

参 数:

nMin 滑块范围的最小值

nMax 滑块范围的最大值

bRedraw 指示是否立即重绘控件

说 明:

调用该函数设置整个控件的可调整范围,更详细的资料请参见MSDN 中关于 CSliderCtrl::SetRange 的说明

--------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::GetRange

void GetRange( int &nMin, int &nMax )

参 数:

nMin 获得的控件范围最小值

nMax 获得的控件范围最大值

说 明:

调用函数来得到当前滑块控件的可调节 最大/最小 值

---------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetText

void SetText(const CString& strNewText)

参 数:

strNewText CString 对象类型的字符串

说 明:

调用该函数来为圆形控件内设置字符。在允许控件显示字符时,如果不调用此函数,那么系统将默认在控件内部显示滑块当前的位置值

---------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::GetText

CString GetText() const

返回值:

返回当前控件内显示字体的内容

说 明:

调用此函数来得到当前控件内的字符串,字符是先前调用SetText设置过的,否则返回的结果无任何意义。

--------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetKnobRadius

void SetKnobRadius(const int nNewKnobRadius)

参 数:

nNewKnobRadius 涉及指针大小的整型变量,该值最小不能小于5

说 明:

设置指针的大小

--------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::GetKnobRadius

int GetKnobRadius() const

返回值:

返回当前的指针大小

说 明:

得到指针的大小

--------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetDragByKnobOnly

void SetDragByKnobOnly(const bool bDragByKnobOnly)

参 数:

bDragByKnobOnly 如果此值为真,那么只有当鼠标指针在此控件指针之上拖动时,控件指针才进行拖动

说 明:

指示是否应该仅让指针根着鼠标走

-------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::GetDragByKnobOnly

bool GetDragByKnobOnly() const

返回值:

如果为真,那么只有当鼠标指针在此控件指针之上拖动时,控件指针才进行拖动

说 明:

确定是否应该仅让指针根着鼠标走

----------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetZero

void SetZero(const int nZero)

参 数:

nZero 控件初始化的角度值,该值应该是不小于0和大于360

说 明:

指定开始时指针默认的角度

---------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::GetZero

int GetZero() const

返回值:

0 - 360 的控件初始角度值

说 明:

得到开始时指针默认的角度

---------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetDialColor

void SetDialColor(const COLORREF crBkgnd)

参 数:

crBkgnd 滑块控件背景颜色值,可以是RGB 三色中的任何一种

说 明:

调用此函数来设置滑块控件的背景颜色;注意:该函数只能在未调用 SetBitmap 时起作用。

----------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetKnobColor

void SetKnobColor(const COLORREF crBkgnd)

参 数:

crBkgnd 指针在鼠标左键未按下时的颜色

说 明:

调用此函数可以设置指针在鼠标左键未按下时的颜色,系统默认情况下是将指针颜色置为系统COLOR_3DFACE颜色

---------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetActiveKnobColor

void SetActiveKnobColor( const COLORREF crBkgnd )

参 数:

crBkgnd 指针在鼠标左键按下激活时的颜色

说 明:

调用此函数可以设置指针在鼠标左键按下激活或者拖动时的颜色,系统默认情况下是将指针颜色置为系统COLOR_3DFACE颜色

-------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetTextColor

void SetTextColor(const COLORREF crText)

参 数:

crText RGB颜色值

说 明:

指定显示在控件中的字符串颜色

-------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetFontBold

void SetFontBold(const bool bSet)

参 数:

bSet 布尔值,指示字体是否为黑体

说 明:

指示控件中的字体是否为黑体

--------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetFontUnderline

void SetFontUnderline(const bool bSet)

参 数:

bSet布尔值,指示字体是否具有下划线

说 明:

指示控件中的字体是否具有下划线

--------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetFontItalic

void SetFontItalic(const bool bSet)

参 数:

bSet布尔值,指示字体是否为斜体

说 明:

指示控件中的字体是否为斜体

---------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetFontSize

void SetFontSize(const int nSize)

参 数:

nSize 字体的大小的整型变量

说 明:

设置控件中字体的大小

------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetFontName

void SetFontName(const CString& strFont)

参 数:

strFont 关于字体信息的CSting类型的字符串变量

说 明:

设置控件中字体的名称

------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetShowText

void SetShowText( const BOOL bShow /* = TRUE */)

参 数:

bShow 指示控件内部是否要显示当前滑动内容的文字

说 明:

指示控件内部是否要显示当前滑动内容的文字,默认情况下控件内部无显示内容

------------------------------------------------------------------------------------------------------------

CRoundSliderCtrl::SetBitmap

void SetBitmap( UINT uNewBitID )

参 数:

uNewBitID 位图资源ID

说 明:

调用此函数可以为控件设置位图背景,图片大小最好跟控件大小一致。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有