zoukankan      html  css  js  c++  java
  • 12.MFC控件(一)

    一、MFC控件介绍

       1. 静态控件,包括图片、静态文本、分组框。

        在代码中很好操作该类控件,控件的默认ID都是IDC_STATIC。

        如果需要操作,必须修改控件的ID。

      2. 按钮控件,包括一般按钮、复选按钮、单选按钮。

        控件类都是CButton类。

        如果需要在同一个对话框中有多个单选的分组,需要设置单选按钮的group属性。

      3. 组合框和列表框

        3.1 组合框控件

          控件类是CComboBox类,可在在多个数据项中选择一项,也可以接受用户的输入。

          在属性中添加多个数据项时,用 ; 隔开。

        3.2 列表框控件

          控件类是CListBox类,可以在多个数据项中选择一项或多项,但不接受用户输入。

        3.3 CListBox的使用(CComboBox与之类似)

          (1)添加数据项:int  CListBox::AddString( LPCTSTR  lpszItem );

          (2)删除指定的数据项:int  CListBox::DeleteString( UINT  nIndex );

          (3)查找数据项:int  CListBox::FindString( int  nStartAfter,  LPCTSTR  lpszItem );

          (4)清空数据项:void  CListBox::ResetContent( );

          (5)设置当前选择项:int  CListBox::SetCurSel( int  nSelect );

          (6)获取当前选择项:int  CListBox::GetCurSel( );

          (7)获取指定选项文本:void  CListBox::GetText( int  nIndex,  CString&  rString );

                                  int  CListBox::GetText( int  nIndex, LPTSTR  lpszBuffer );

          (8)获取数据项的数量:int  CListBox::GetCount( );

      4. 动画控件 - 控件类是CAnimateCtrl类,功能是播放简单动画,动画文件的后缀是*.avi

        4.1 打开文件    

          BOOL  CAnimateCtrl::Open( LPCTSTR  lpszFileName );

        4.2 播放文件

          BOOL  CAnimateCtrl::Play( UINT  nFrom, UINT  nTo, UINT  nRep );

        4.3 停止播放

          BOOL  CAnimateCtrl::Stop( );

     二、播放动画的例子

      1. CFileDialog类 - 文件对话框类

        1.1 构造文件对话框

          CFileDialog ( BOOL       bOpenFileDialog,            //TRUE - 打开,FALSE - 另存为

                                       LPCTSTR   lpszDefExt = NULL,      //默认的文件类型

                                       LPCTSTR   lpszFileName = NULL,   //默认的文件名称

                                       DWORD    dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,  //窗口样式

                                       LPCTSTR   lpszFilter = NULL,         //文件类型的过滤

                                       CWnd*      pParentWnd = NULL);  //父窗口,通常为NULL即可

           文件类型过滤字符串的格式:

            每个数据项之间用 | 分隔,整个字符串以 || 结尾

            每个数据项包括两部分,显示和过滤部分,这两部分也一 | 隔开

            "视频文件(*.avi)|*.avi|所有文件(*.*)|*.*||";

        1.2 获取文件路径

          CString  CFileDialog::GetPathName( );

        1.3 获取文件名称

          CString  CFileDialog::GetFileName( );

      2. CListBox函数介绍

        2.1 设置数据项的附加数据

          int  CListBox::SetItemData( int  nIndex, DWORD  dwItemData );

        2.2 获取数据项的附加数据      

           DWORD  CListBox::GetItemData( int  nIndex );

    三、旋转按钮、进度条、滑块

      旋转按钮 - 控件类CSpinButtonCtrl类

      进度条 - 控件类是CProgressCtrl类

      滑块 - 控件类是CSliderCtrl类

      1. 设置/获取控件的数值范围

        SetRange / GetRange

      2. 设置控件的增量(步长)

        BOOL  CSpinButtonCtrl::SetAccel( int nAccel, UDACCEL*  pAccel );

        int  CProgressCtrl::SetStep( int  nStep );

        int  CProgressCtrl::StepIt( );  //前进一个步长

        int  CSliderCtrl::SetLineSize( int  nSize );

        int  CSliderCtrl::SetPageSize( int  nSize );

      3.设置/获取控件的当前位置

        int  SetPos( int  nPos );

        int  GetPos( );

      

          

      

  • 相关阅读:
    php xdebug的配置、调试、跟踪、调优、分析
    alpine使用的避坑指南
    nginx fastcgi模块ngx_http_fastcgi_module详细解析、使用手册、完整翻译
    深入理解 Kubernetes 资源限制:CPU
    使用xdebug对php做性能分析调优
    alpine安装sshd/ssh server
    冒泡排序的终极改进优化
    基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建
    NPM使用
    NodeJS学习历程
  • 原文地址:https://www.cnblogs.com/csqtech/p/5729573.html
Copyright © 2011-2022 走看看