📄 test2doc.h
字号:
// test2Doc.h : interface of the CTest2Doc class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_TEST2DOC_H__F8D47ABE_B961_4435_BEC8_F14AA15A1DF8__INCLUDED_)
#define AFX_TEST2DOC_H__F8D47ABE_B961_4435_BEC8_F14AA15A1DF8__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CKServer;
class CKGroup;
class CKItem;
class CTest2Doc : public CDocument
{
protected: // create from serialization only
//CTest2Doc();
DECLARE_DYNCREATE(CTest2Doc)
// Attributes
public:
void SetModified (bool bModified = true);
CTest2Doc();
bool IsLocked ();
void SetLocked (bool bSet);
BOOL RouteCmdMsg (CView *pActiveView, UINT nID, int nCode, void *pExtra, AFX_CMDHANDLERINFO *pHandlerInfo);
// add/modify/remove server object
void AddServer ();
void AddServer (CKServer *pServer, bool bConnect = false);
void EditServer (CKServer *pServer);
void RemoveServer (CKServer *pServer);
void ConnectServer (CKServer *pServer);
void DisconnectServer (CKServer *pServer);
DWORD GetServerCount () {return (m_cdwServers);}
// add/modify/delete group
void AddGroup (CKGroup *pGroup);
void AddGroup ();
void CloneGroup ();
void RemoveGroup (CKGroup *pServer);
// add/delete item
void AddItem ();
void AddItems (CObArray &cList, DWORD dwCount);
void RemoveItems (CObArray &cList, DWORD dwCount);
// group view management我个人认为这个函数的主要作用是将当前选择的服务器和组的指针赋值给文档类,
//
void SetSelectedServerGroup (CKServer *pServer, CKGroup *pGroup)
{
m_pCurSelServer = pServer;//关键的一步。
m_pCurSelGroup = pGroup;
if (pGroup)
{
ASSERT (pServer == NULL);
UpdateAllViews (NULL, HINT_SELECT_GROUP, (CObject *)pGroup);
}
else
{
ASSERT (pServer != NULL);
ASSERT (pGroup == NULL);
UpdateAllViews (NULL, HINT_SELECT_SERVER, (CObject *)pServer);
}
}
CKServer* GetServerHead () {return (m_pServerHead);}
CKServer* GetSelectedServer () {return (m_pCurSelServer);}
CKGroup* GetSelectedGroup () {return (m_pCurSelGroup);}
// notifications
void OnServerShutdown (CKServer *pServer);
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CTest2Doc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
virtual void DeleteContents ();
virtual BOOL OnOpenDocument (LPCTSTR lpszPathName);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CTest2Doc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
private:
typedef struct _tagWORKERTHREADARG
{
enum TASK
{
START_SINGLE_SERVER,
START_MULTIPLE_SERVER,
STOP_SINGLE_SERVER,
STOP_MULTIPLE_SERVER,
ADD_ITEMS,
};
_tagWORKERTHREADARG ()
{
pvObjectA = NULL;
pvObjectB = NULL;
}
TASK eTask;
void *pvObjectA;
void *pvObjectB;
} WORKERTHREADARG;
void RunWorkerThread (WORKERTHREADARG *pArg);
static unsigned _stdcall WorkerThread (void *pvArgs);
protected:
// server management
CKServer *m_pServerHead;
DWORD m_cdwServers;
// group view management
CKServer *m_pCurSelServer;
CKGroup *m_pCurSelGroup;
CKServer *m_pdsServer;
// document locked for edits
CCriticalSection m_csDoc;
bool m_bLocked;
public:
// CKGroupGeneralPage *m_pdsGgp;
CKGroup *m_pdsGroup;
protected:
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_TEST2DOC_H__F8D47ABE_B961_4435_BEC8_F14AA15A1DF8__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -