zoukankan      html  css  js  c++  java
  • Progress Control控件的使用

    1.设置控件的属性

       在smooth默认是false,表示进度条是一格一格变化,设置成true的话,就相当于水流一样变化,不过我测试的时候win7里好像一样,没变化,但是在XP里有区别。

       属性smoothReserve默认是false,这样的话进度条一直是按一个方向变化的,而如果设置成true的话,当进度条走到最末端的时候,不是从最开始往末端走,而是

       从末端往开始走。


    2.在类向导里给控件添加变量m_pro,同时对windows消息WV_TIMEER进行响应,添加对应函数即可。


    3.初始化控件

        

    //初始化控件,可以在函数OnInitial函数添加
    m_pro.SetRange( 0, MAX_RANGE );//设置矩阵大小
    m_pro.SetPos( 0 );//设置进度条的初始位置
    SetTimer( PROGRESS1_ID, 20, NULL );
    //PROGRESS1_ID是自定义的值,对应m_pro
    //在OnTimer里面通过该值来识别该进度条事件
    
    //这个是OnTimer响应函数
    void CProgressControlDlg::OnTimer(UINT_PTR nIDEvent)
    {
    	// TODO: 在此添加消息处理程序代码和/或调用默认值
    	int nPos, nMaxRange;
    	CProgressCtrl  *pro;
    	switch( nIDEvent )
    	{
    	case PROGRESS1_ID:
    		pro = ( CProgressCtrl *)GetDlgItem( IDC_PROGRESS1 );
    		break;
    	default:
    		return ;
    	}
    	//两种设置进度条位置的方法,其中注释掉的也行
    	/*pro->GetRange( nPos, nMaxRange );
    	nPos = pro->GetPos()+PROGRESS_INCREASE;
    	if( nPos>nMaxRange ) nPos = 0;
    	pro->SetPos( nPos );*/
    	pro->OffsetPos( PROGRESS_INCREASE );//PROGRESS_INCREASE宏定义设置每次递增量
    	pro->GetRange( nPos, nMaxRange );
    	nPos = pro->GetPos();
    	if( nPos>=nMaxRange ) pro->SetPos( 0 );
    	CDialogEx::OnTimer(nIDEvent);
    }

  • 相关阅读:
    添加要素后弹出属性窗口
    预览ArcGIS 10中有关编辑的变化
    【制图】ArcGIS10制图新特性
    arcgis 设置掩膜Mask图层
    ArcGIS 10研究(五)Desktop之制图表达和图、表
    【制图】ArcGIS10制图新特性
    ESRI ArcGis10版本的优缺点(转)
    TCP超时重传、滑动窗口、拥塞控制、快重传和快恢复
    进程关闭解决IIS无响应假死状态
    android开源项目旅游记录
  • 原文地址:https://www.cnblogs.com/arbboter/p/4225266.html
Copyright © 2011-2022 走看看