用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.2 KiB

5 months ago
#pragma once
namespace SOUI{
//ʵ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>
/*img format: 1-normal, 2-hover, 3-pushdown, 4-disable
1 2 3 4 //for thumb
1 2 3 4 //for rail
*/
class SSkinVScrollbar : public SSkinScrollbar
{
SOUI_CLASS_NAME(SSkinVScrollbar, L"vscrollbar")
public:
SSkinVScrollbar()
{
m_nStates=4;
}
//<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ͷ
virtual BOOL HasArrow()const override {return FALSE;}
virtual int GetIdealSize() const override{
if(!GetImage()) return 0;
return GetImage()->Width()/m_nStates;
}
protected:
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭλͼ<EFBFBD>ϵ<EFBFBD>λ<EFBFBD>á<EFBFBD>
virtual CRect GetPartRect(int nSbCode, int nState,BOOL bVertical) const override
{
CRect rc;
if(!bVertical
|| nSbCode==SB_LINEDOWN
|| nSbCode==SB_LINEUP
|| nSbCode == SB_CORNOR
|| nSbCode==SB_THUMBGRIPPER)
return rc;
if(nState==SBST_INACTIVE && !m_bHasInactive)
{
nState=SBST_NORMAL;
}
SASSERT(GetImage());
rc.right = GetImage()->Width()/m_nStates;
rc.bottom = GetImage()->Height()/2;
rc.OffsetRect(rc.Width()*nState,0);
if(nSbCode == SB_PAGEUP || nSbCode == SB_PAGEDOWN)
{
rc.OffsetRect(0,rc.Height());
}
return rc;
}
};
}