// TESTDLL2.H - Public API exported from 'TESTDLL2.DLL' // // This is a part of the Microsoft Foundation Classes C++ library. // Copyright (C) 1992-1998 Microsoft Corporation // All rights reserved. // // This source code is only intended as a supplement to the // Microsoft Foundation Classes Reference and related // electronic documentation provided with the library. // See these sources for detailed information regarding the // Microsoft Foundation Classes product. // Note: This sample uses AFX_EXT_CLASS to export an entire class. // This avoids creating a .DEF file with all the decorated names for // the class. Creating a .DEF file is more efficient since the names // can be exported by ordinal. To use that method of exporting, much // like MFC does itself, uncomment the following two lines and add // the appropriate lines to your .DEF file. //#undef AFX_DATA //#define AFX_DATA AFX_EXT_DATA // Initialize the DLL, register the classes etc extern "C" AFX_EXT_API void WINAPI InitTestDLL2(); ///////////////////////////////////////////////////////////////////////////// // This DLL exports a general purpose MDIChildWnd that can be used for // a list output (stores data in a listbox) // All the public interfaces are exported in TESTDLL2.DEF class AFX_EXT_CLASS CListOutputFrame : public CMDIChildWnd { DECLARE_DYNAMIC(CListOutputFrame) // Constructors public: // NOTE: always export explicit constructors and destructor to be safe CListOutputFrame(); ~CListOutputFrame(); BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_OVERLAPPEDWINDOW, const RECT& rect = rectDefault, CMDIFrameWnd* pParentWnd = NULL); // Operations void Clear(); // clears list void AddString(LPCTSTR lpszItem); // adds to end of list void SetBackpointer(CListOutputFrame** ppThis); // Implementation protected: CMenu m_menu; // menu to give to the the MDI Frame CDialogBar m_dlgBar; CListBox m_listBox; CListOutputFrame** m_ppThis; // backpointer to clear when frame destroyed HGLOBAL GetTextData(); //{{AFX_MSG(CListOutputFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnEditClear(); afx_msg void OnEditCopy(); afx_msg void OnEditCut(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; // inlines do not need to be exported inline void CListOutputFrame::SetBackpointer(CListOutputFrame** ppThis) { m_ppThis = ppThis; } #undef AFX_DATA #define AFX_DATA /////////////////////////////////////////////////////////////////////////////