본문 바로가기

Windows/MFC

CScrollInfo SCROLLINFO

[code]SCROLLINO 를 좀 손쉽게 사용해볼까란 생각에 구조체를 클래스화
License : Free
[/code]
[code]
class CScrollInfo
{
public:
    UINT    cbSize;
    UINT    fMask;
    int     nMin;
    int     nMax;
    UINT    nPage;
    int     nPos;
    int     nTrackPos;

public:
    CScrollInfo()
    : cbSize(0)
    , fMask(0)
    , nMin(0)
    , nMax(0)
    , nPage(0)
    , nPos(0)
    , nTrackPos(0)
    {

    }

    // 기존에 struct 를 변환 시키자.
    CScrollInfo(SCROLLINFO si)
        : cbSize(si.cbSize)
        , fMask(si.fMask)
        , nMin(si.nMin)
        , nMax(si.nMax)
        , nPage(si.nPage)
        , nPos(si.nPos)
        , nTrackPos(si.nTrackPos)
    {

    }

    ~CScrollInfo()
    {

    }

    const CScrollInfo operator +(const SCROLLINFO &T) const
    {
        CScrollInfo res;

        res.cbSize        = cbSize + T.cbSize;
        res.fMask        = fMask + T.fMask;
        res.nMin        = nMin + T.nMin;
        res.nMax        = nMax + T.nMax;
        res.nPage        = nPage + T.nPage;
        res.nPos        = nPos + T.nPos;
        res.nTrackPos    = nTrackPos + T.nTrackPos;

        return res;
    };

    const CScrollInfo operator +(const CScrollInfo &T) const
    {
        CScrollInfo res;

        res.cbSize        = cbSize + T.cbSize;
        res.fMask        = fMask + T.fMask;
        res.nMin        = nMin + T.nMin;
        res.nMax        = nMax + T.nMax;
        res.nPage        = nPage + T.nPage;
        res.nPos        = nPos + T.nPos;
        res.nTrackPos    = nTrackPos + T.nTrackPos;

        return res;
    };

    bool operator == (const SCROLLINFO &T)
    {
        if(cbSize != T.cbSize)
            return false;

        if(fMask != T.fMask)
            return false;

        if(nMin != T.nMin)
            return false;

        if(nMax != T.nMax)

            return false;
        if(nPage != T.nPage)
            return false;

        if(nPos != T.nPos)
            return false;

        if(nTrackPos != T.nTrackPos)
            return false;

        return true;
    };

    bool operator == (const CScrollInfo &T)
    {
        if(cbSize != T.cbSize)
            return false;
        
        if(fMask != T.fMask)
            return false;
        
        if(nMin != T.nMin)
            return false;

        if(nMax != T.nMax)

            return false;
        if(nPage != T.nPage)
            return false;

        if(nPos != T.nPos)
            return false;

        if(nTrackPos != T.nTrackPos)
            return false;

        return true;
    };

    bool operator != (const SCROLLINFO &T)
    {
        return !operator == (T);
    };

    bool operator != (const CScrollInfo &T)
    {
        return !operator == (T);
    };
};

[/code]

'Windows > MFC' 카테고리의 다른 글

CComboBoxExt  (0) 2013.10.02
HostToNetworkOrder NetWorkToHostOrder  (0) 2013.10.02
casting  (0) 2013.10.02
Fullscreen (전체 화면 )  (0) 2013.10.02
CHeaderCtrl  (0) 2013.10.02