zoukankan      html  css  js  c++  java
  • MFC中实现listbox水平向滚动条

    1、添加listbox设置horizontal scroll为true

    2、新建类CNListBox,继承类CListBox

    3、新类头文件声明如下:

    #ifndef _IHLISTBOX_H_
    #define _IHLISTBOX_H_

    class CNListBox: public CListBox
    {

    .......
    public:

    int AddString( LPCTSTR lpszItem );
    int InsertString( int nIndex, LPCTSTR lpszItem );

    void RefushHorizontalScrollBar( void );

    };

    #endif

    4、新类cpp文件代码如下

    int CNListBox::AddString( LPCTSTR lpszItem )
    {
    int nResult = CListBox::AddString( lpszItem );

    RefushHorizontalScrollBar();

    return nResult;
    }

    int CNListBox::InsertString( int nIndex, LPCTSTR lpszItem )
    {
    int nResult = CListBox::InsertString( nIndex, lpszItem );

    RefushHorizontalScrollBar();

    return nResult;
    }

    void CNListBox::RefushHorizontalScrollBar( void )
    {
    CDC *pDC = this->GetDC();
    if ( NULL == pDC )
    {
       return;
    }

    int nCount = this->GetCount();
    if ( nCount < 1 )
    {
       this->SetHorizontalExtent( 0 );
       return;
    }

    int nMaxExtent = 0;
    CString szText;
    for ( int i = 0; i < nCount; ++i )
    {
       this->GetText( i, szText );
       CSize &cs = pDC->GetTextExtent( szText );
       if ( cs.cx > nMaxExtent )
       {
        nMaxExtent = cs.cx;
       }
    }

    this->SetHorizontalExtent( nMaxExtent );
    }

    5、可以在其他文件中使用该类

    CPP文件中引用如下头文件

    #include "NListBox.h"
    #define LIST ((CNListBox* )(GetDlgItem(IDC_Point)))

    添加字段代码如下:

    LIST->AddString( _T("11111111111") );

  • 相关阅读:
    小程序订阅消息(服务通知)实现 WX.REQUESTSUBSCRIBEMESSAGE
    将打包完成的文件上传到百度云
    vue传值
    WebSocket心跳检测和重连机制
    vue 使用vuex 刷新时保存数据
    webpack优化项目
    DNS 解析 prefeath
    prefetch和preload
    DIV 自动滚动功能及滚动条颜色修改
    有关JQuery
  • 原文地址:https://www.cnblogs.com/tangseng/p/2955052.html
Copyright © 2011-2022 走看看