动态添加的slider 怎么响应滑动事件

动态添加的slider 怎么响应滑动事件,第1张

您好,很高兴为您解答。

在MFC中滑动条(CSliderCtrl)是个常用的控件,用法如下:

主要要方法有:

1、设置、取得滑动范围:

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

void GetRange( int& nMin, int& nMax ) const

2、设置、取得按下左右箭头滑动间隔:

 int SetLineSize( int nSize ) 

int GetLineSize( ) const

3、设置、取得按下PgUp、PgDown时滑动间隔:

int SetPageSize( int nSize ) 

int GetPageSize( ) const

4、设置、取得滑块位置:

 void SetPos( int nPos ) 

int GetPos( ) const

5、设置滑动条刻度的频度:

 void SetTicFreq( int nFreq )

实例:

在对话框中放一个Slider控件,添加相应的Ctrl型变量为m_slider。在对话框初始化函数OnInitDialog()中添加:

BOOL CDlgSetup::OnInitDialog() { CDialog::OnInitDialog()  // TODO: Add extra initialization here

 m_slider.SetRang(0,100)//设置滑动范围

 m_slider.SetTicFreq(10)//每10个单位画一刻度 return TRUE  // return TRUE unless you set the focus to a control               // EXCEPTION: OCX Property Pages should return FALSE}

 Slider控件本身并没有响应滑动的消息函数,但可以通过主窗体的OnHScroll()响应。在类向导中为对话框添加WM_HSCROLL消息,在响应函数中添加:

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

{

 // TODO: Add your message handler code here and/or call default

 CSliderCtrl   *pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_SLIDER1)

 m_int=pSlidCtrlHue->GetPos()//取得当前位置值  

  CDialog::OnHScroll(nSBCode, nPos, pScrollBar)

}

//m_int 即为当前滑块的值。

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

                                                                                                                            ~ O(∩_∩)O~

使用toggle实现单选效果

为toggle父物体添加:toggleGroup组件,勾选Allow Switch Off

为每一个toggle选择下的Group选择添加toggleGroup组件的物体(此为toggle父物体)

void Start () {

        toggles = transform.GetComponentsInChildren<Toggle>()

        for (int i = 0i <toggles.Lengthi++)

        {

            Toggle toggle = toggles[i]

            toggle.onValueChanged.AddListener((bool value) =>OnToggleClick(toggle, value))

        }

    }

//功能:点击选中某一个toggle时播放相对应的视频

void OnToggleClick(Toggle toggle,bool isSwitch) {

        if (isSwitch)

        {

            print(toggle.name)

//改变文本字体的布局--居中

            toggle.transform.Find("LabelBGImage/Label").GetComponent<Text>().alignment= TextAnchor.MiddleCenter

            PlayerPrefs.DeleteAll()

            PlayerPrefs.SetString("CurrentVideo","xuting")

            SceneManager.LoadScene("fengcaiqiang")

        }

        else {

//改变文本字体的布局--低部居中

            toggle.transform.Find("LabelBGImage/Label").GetComponent<Text>().alignment = TextAnchor.LowerCenter

        }

    }

ing System.Collections

using UnityEngine.UI

/// <summary>

/// 脚本位置:UGUI的按钮身上

/// 脚本功能:动态的添加按钮的点击事件

/// </summary>

public class Liste


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11668207.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存