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

47 lines
1.2 KiB

#pragma once
#include <core/SNativeWnd.h>
#include <Scintilla.h>
// CScintillaWnd
class CScintillaWnd : public SNativeWnd
{
public:
static int InitScintilla(HINSTANCE hInst);
static void UninitScintilla();
static LPCTSTR GetScintillaWndClass();
CScintillaWnd();
virtual ~CScintillaWnd();
BOOL Create (LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, HWND hParentWnd, UINT nID,HINSTANCE hInst);
BOOL OpenFile(LPCTSTR lpFileName);
BOOL SaveFile(LPCTSTR lpFileName);
LPCTSTR GetOpenedFileName(){return m_strFileName;}
void SetOpenedFileName(LPCTSTR pszFileName){m_strFileName=pszFileName;}
LRESULT SendEditor(UINT Msg, WPARAM wParam=0, LPARAM lParam=0) {
return ::SendMessage(m_hWnd, Msg, wParam, lParam);
}
void UpdateLineNumberWidth(void);
protected:
// 显示行号
void InitScintillaWnd(void);
void SetAStyle(int style, COLORREF fore, COLORREF back = RGB(0xff,0xff,0xff), int size = 0, const char* face = NULL);
// 设置XML的语法规则
void SetXmlLexer();
void GetRange(int start, int end, char* text);
LRESULT OnNotify(int idCtrl, LPNMHDR pnmh);
BEGIN_MSG_MAP_EX(CScintillaWnd)
MSG_OCM_NOTIFY(OnNotify)
CHAIN_MSG_MAP(SNativeWnd)
REFLECT_NOTIFICATIONS_EX();
END_MSG_MAP()
SStringT m_strFileName;
};