用于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.

42 lines
845 B

5 months ago
#pragma once
#include <helper/SMenu.h>
namespace SOUI
{
class SMenuBarItem;
class SOUI_EXP SMenuBar :
public SWindow
{
SOUI_CLASS_NAME(SMenuBar, L"menubar")
friend class SMenuBarItem;
public:
SMenuBar();
~SMenuBar();
BOOL Insert(LPCTSTR pszTitle, LPCTSTR pszResName, int iPos = -1);
BOOL Insert(pugi::xml_node xmlNode, int iPos = -1);
SMenu* GetMenu(DWORD dwPos);
int HitTest(CPoint pt);
protected:
SMenuBarItem* GetMenuItem(DWORD dwPos);
virtual BOOL CreateChildren(pugi::xml_node xmlNode);
static LRESULT CALLBACK MenuSwitch(int code, WPARAM wParam, LPARAM lParam);
SArray<SMenuBarItem*> m_lstMenuItem;
HWND m_hWnd;
pugi::xml_document m_xmlStyle;
BOOL m_bIsShow;
SMenuBarItem* m_pNowMenu;
int m_iNowMenu;
CPoint m_ptMouse;
static HHOOK m_hMsgHook;
static SMenuBar* m_pMenuBar;
};
}