c语言,slider控件还不会用。如何获取当前滑块的值?请列举一段代码,谢谢!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言,slider控件还不会用。如何获取当前滑块的值?请列举一段代码,谢谢!相关的知识,希望对你有一定的参考价值。

初学对话框程序设计,VC环境。本人不会C++,查了半天全是c++的。我最终的目的是像播放器里的那样边播放实现滑块移动

查查msdn 发现slider control其实就是 trackbar control

msdn 中unser interface services 的 windows common control 下的trackbar control 就是其帮助

vc6 用c写的例子......获取当前滑块的值原理 给 slider控件发送TBM_GETPOS消息


追问

能说下这个控件的常用函数否?如设置其值等等,拜托了

追答

API操作 这个控件 貌似 没 函数 或 宏 只能 给他发消息
设置值 就给他发 TBM_SETPOS 消息

追问

我查了下,我现在是用API函数来实现这个功能,至于我在另一层说的setrange()这个可以用windowsx.h里面的宏定义来调用的(应该没说错吧,不是很明白这个,比如:我用了List_GetText()),你网盘里的我也看明白了,不过我好像用的是直接新建对话框程序的方式建立的文件,就是可视化操作

追答

我写的是纯代码 以免 vc版本不一样 没法打开工程文件编译运行
你可以直接 到vc 的include目下去用记事本 打开 windowsx.h查看
我vc6 的windowsx.h里是没有slider /trackbar 的宏的

参考技术A dwPos = SendMessage(hwndCtrl,TBM_GETPOS,0,0);这个就能获取Slider的值,就是dwPos,hwndCtrl就是Slider控件的句柄追问

我看见有 get range()等之类的函数 应该可以实现这个功能吧?

追答

好吧,你说的是MFC

追问

额 是windows对话框程序啊 我不是MFC 我跟着视频写代码的 这个控件教程没有,我自己研究着用 那个getrange()是百度出来的 不会用 看函数定义就没见过那种形式的 后面还带有个const 什么的 哎 没学到家啊

追答

不是MFC用不了那个函数,那个函数是MFC里的

追问

额 函数是那里的,在用API函数实现获取滑轨值得功能,windowsx.h里面定义了很多宏来使用这些函数,但是我不知道是哪些函数。查MSDN又效率还不高 哎 谢谢哈 追问用完了

参考技术B HWND hwndSlideVolume = GetDlgItem(hwnd, IDC_SLIDERMUSICVOLUME);//获得句柄 int intVolumn = 0; intVolumn = SendMessage(hwndSlideVolume, TBM_GETPOS , 0, 0); //得到音量值

如何创建自定义 Slider 控件

【中文标题】如何创建自定义 Slider 控件【英文标题】:How to create a custom Slider control 【发布时间】:2017-01-23 15:32:24 【问题描述】:

我需要做一个这样的滑块。 它需要粘在一行文本上,并且所有文本无论多长都需要相同的大小(一个句子可能比另一个长很多)

我现在的方法是创建一个自定义 UIView 并计算文本的位置并将 CATextLayer 添加到正确的位置。

并处理我自己的平移/点击手势。

有没有更简单的方法来做到这一点?是否可以为此使用UISliderUIlabels 而不是 CATextLayers?

【问题讨论】:

【参考方案1】:

您可以使用带旋转的普通UISlider 使其垂直.transform 来旋转它。例如要使其垂直可以使用

mySlider.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2)

然后,使用自定义子类更改您的 UISlider,如下所示。

override func draw(_ rect: CGRect) 
    super.draw(rect)

    self.tintColor = .red
    self.maximumTrackTintColor = .red

【讨论】:

以上是关于c语言,slider控件还不会用。如何获取当前滑块的值?请列举一段代码,谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

WPF中怎么使slider控件的值只取整数?

wpf slider拖动滑块气泡提示

WPF 中的 Slider 控件如何捕捉特定值?

Flex Slider - 如何为两个滑块添加相同的控件

wpf 的 slider控件问题

VS2008中Slider控件制作播放器的进度条,如何在视频播放时改变滑块位置