1 #if !defined(AFX_TABCTRLSSL_H__75BE48A7_864C_11D5_9F04_000102FB9990__INCLUDED_)
2 #define AFX_TABCTRLSSL_H__75BE48A7_864C_11D5_9F04_000102FB9990__INCLUDED_
3 
4 #if _MSC_VER > 1000
5 #pragma once
6 #endif // _MSC_VER > 1000
7 // TabCtrlEx.h : header file
8 //
9 
10 #include <afxtempl.h>
11 #include "TabPageSSL.h"
12 
13 #ifdef _DEBUG
14 #pragma pack (push, 1)
15 
16 typedef struct {
17 	WORD dlgVer;
18 	WORD signature;
19 	DWORD helpID;
20 	DWORD exStyle;
21 	DWORD style;
22 	WORD cDlgItems;
23 	short x;
24 	short y;
25 	short cx;
26 	short cy;
27 } DLGTEMPLATEEX;
28 
29 #pragma pack (pop)
30 #endif // _DEBUG
31 
32 /////////////////////////////////////////////////////////////////////////////
33 // CTabCtrlSSL window
34 
35 class CTabCtrlSSL : public CTabCtrl {
36 public:
37 // Construction
38 	CTabCtrlSSL ();
39 // Destruction
40 	virtual ~CTabCtrlSSL (void);
41 // Page Functions
42 	int		AddSSLPage (LPCTSTR pszTitle, int nPageID, CTabPageSSL* pTabPage);
43 	int		AddSSLPage (LPCTSTR pszTitle, int nPageID,	LPCTSTR pszTemplateName);
44 	int		AddSSLPage (LPCTSTR pszTitle, int nPageID, int nTemplateID);
45 	BOOL	RemoveSSLPage (int nIndex);
46 	int		GetSSLPageCount (void);
47 	BOOL	GetSSLPageTitle (int nIndex, CString& strTitle);
48 	BOOL	SetSSLPageTitle (int nIndex, LPCTSTR pszTitle);
49 	int		GetSSLPageID (int nIndex);
50 	int		SetSSLPageID (int nIndex, int nPageID);
51 	BOOL	ActivateSSLPage (int nIndex);
52 	int		GetSSLActivePage (void);
53 	CWnd*	GetSSLPage (int nIndex);
54 	int		GetSSLPageIndex (int nPageID);
55 	void ResizeDialog (int nIndex, int cx, int cy);
56 
57 protected:
58     struct TabDelete {
59         CTabPageSSL*   pTabPage;
60         BOOL        bDelete;
61     };
62     CArray<TabDelete, TabDelete> m_tabs;
63 	CArray<HWND, HWND> m_hFocusWnd;
64 	CArray<int, int> m_nPageIDs;
65 
66 	int AddPage (LPCTSTR pszTitle, int nPageID, TabDelete tabDelete);
67 
68     virtual BOOL OnInitPage (int nIndex, int nPageID);
69 	virtual void OnActivatePage (int nIndex, int nPageID);
70 	virtual void OnDeactivatePage (int nIndex, int nPageID);
71 	virtual void OnDestroyPage (int nIndex, int nPageID);
72 	virtual BOOL OnCommand (WPARAM wParam, LPARAM lParam);
73 	virtual BOOL OnNotify (WPARAM wParam, LPARAM lParam, LRESULT* pResult);
74 	virtual BOOL OnCmdMsg (UINT nID, int nCode, void* pExtra,
75 		AFX_CMDHANDLERINFO* pHandlerInfo);
76 
77 #ifdef _DEBUG
78 	BOOL CheckDialogTemplate (LPCTSTR pszTemplateName);
79 #endif // _DEBUG
80 	// Generated message map functions
81 protected:
82 	//{{AFX_MSG(CTabCtrlSSL)
83 	afx_msg void OnDestroy (void);
84 	afx_msg void OnSetFocus (CWnd* pOldWnd);
85 	afx_msg void OnKillFocus (CWnd* pNewWnd);
86 	afx_msg void OnSelChanging (NMHDR* pNMHDR, LRESULT* pResult);
87 	afx_msg void OnSelChange (NMHDR* pNMHDR, LRESULT* pResult);
88 	//}}AFX_MSG
89 
90 	DECLARE_MESSAGE_MAP()
91 };
92 
93 /////////////////////////////////////////////////////////////////////////////
94 
95 //{{AFX_INSERT_LOCATION}}
96 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
97 
98 #endif // !defined(AFX_TABCTRLSSL_H__75BE48A7_864C_11D5_9F04_000102FB9990__INCLUDED_)
99