2010年1月4日 星期一

CuKeyStatus - a struct of the keyboard status.

// a struct of the keyboard status. 
// override operator == 
CuKeyStatus ksFromLLKeyHook;
CuKeyStatus ksClientDefault;

Assert( ksFromLLKeyHook == ksClientDefault );

// CuKeyStatus.h
class CuKeyStatus
{
public:
    BOOL m_bAlt;
    BOOL m_bCtrl;
    BOOL m_bShift;
    DWORD m_dwScanCode;
    DWORD m_dwVirtualKey;

    CuKeyStatus()
        :m_bAlt(FALSE)
        ,m_bCtrl(FALSE)
        ,m_bShift(FALSE)
        ,m_dwScanCode(0)
        ,m_dwVirtualKey(0)
    {};
    ~CuKeyStatus(void){};

    BOOL operator == (CuKeyStatus &KeyStatus);
    
};

inline BOOL CuKeyStatus::operator == (CuKeyStatus &KeyStatus)
{
    return m_bAlt == KeyStatus.m_bAlt &&
        m_bCtrl == KeyStatus.m_bCtrl &&
        m_bShift == KeyStatus.m_bShift &&
        m_dwScanCode == KeyStatus.m_dwScanCode &&
        m_dwVirtualKey == KeyStatus.m_dwVirtualKey ;
}

1 則留言:

  1. 要用到比較運算, 就實作在資料結構內, 並不會破壞到整體的感覺, Ex: int i,j; i == j; 就還是知道是個整數.

    回覆刪除