Annotation of mstools/mfc/samples/minsvr/minsvr.h, revision 1.1

1.1     ! root        1: // This is a part of the Microsoft Foundation Classes C++ library.
        !             2: // Copyright (C) 1992 Microsoft Corporation
        !             3: // All rights reserved.
        !             4: //
        !             5: // This source code is only intended as a supplement to the
        !             6: // Microsoft Foundation Classes Reference and Microsoft
        !             7: // QuickHelp documentation provided with the library.
        !             8: // See these sources for detailed information regarding the
        !             9: // Microsoft Foundation Classes product.
        !            10: 
        !            11: 
        !            12: // Minsvr.cpp : minimal OLE Server
        !            13: 
        !            14: /////////////////////////////////////////////////////////////////////////////
        !            15: 
        !            16: #include <afxole.h>
        !            17: #include "resource.h"
        !            18: 
        !            19: /////////////////////////////////////////////////////////////////////////////
        !            20: // CMinItem : mini server item
        !            21: 
        !            22: class CMinDoc;
        !            23: 
        !            24: class CMinItem : public COleServerItem
        !            25: {
        !            26: // Constructors
        !            27: public:
        !            28:        CMinItem();
        !            29: 
        !            30: // Attributes
        !            31:        CMinDoc*    GetDocument() const // type cast helper
        !            32:                                        { return (CMinDoc*) COleServerItem::GetDocument(); }
        !            33: 
        !            34:        CString m_data;     // example of item data
        !            35: 
        !            36: // Operations
        !            37:        BOOL    PromptChangeString();       // return TRUE if changed
        !            38: 
        !            39: // Overridables
        !            40: protected:
        !            41:        virtual OLESTATUS   OnShow(BOOL bTakeFocus);
        !            42:        virtual BOOL        OnDraw(CMetaFileDC* pDC);
        !            43: 
        !            44:        virtual void        Serialize(CArchive& ar);        // for native data
        !            45:        virtual BOOL        OnGetTextData(CString& rStringReturn);
        !            46: };
        !            47: 
        !            48: /////////////////////////////////////////////////////////////////////////////
        !            49: // CMinDoc : mini server document
        !            50: 
        !            51: class CMinDoc : public COleServerDoc
        !            52: {
        !            53: // Attributes
        !            54: public:
        !            55:        CMinItem m_item; // document contains one item
        !            56: 
        !            57: // Overridables for OLE server
        !            58: protected:
        !            59:        virtual COleServerItem* OnGetDocument();
        !            60:        virtual COleServerItem* OnGetItem(LPCSTR lpszObjname);
        !            61:        virtual COleServerItem* GetNextItem(POSITION& rPosition);
        !            62: };
        !            63: 
        !            64: /////////////////////////////////////////////////////////////////////////////
        !            65: // CMinServer : mini server
        !            66: 
        !            67: class CMainWnd;
        !            68: 
        !            69: #define SERVER_NAME         "MINSVR"
        !            70: #define SERVER_LOCAL_NAME   "Mini OLE Server"
        !            71: 
        !            72: class CMinServer : public COleServer
        !            73: {
        !            74: public:
        !            75:        CMinServer(CMainWnd* pMainWnd);
        !            76: 
        !            77: // Attributes
        !            78: public:
        !            79:        CMinDoc m_doc;      // single document server (multi-instance app)
        !            80: 
        !            81: protected:
        !            82: // Overridables for OLE Server requests
        !            83:        virtual COleServerDoc* OnOpenDoc(LPCSTR lpszDoc);
        !            84:        virtual COleServerDoc* OnCreateDoc(LPCSTR lpszClass, LPCSTR lpszDoc);
        !            85:        virtual COleServerDoc* OnEditDoc(LPCSTR lpszClass, LPCSTR lpszDoc);
        !            86: 
        !            87: // Implementation
        !            88: protected:
        !            89:        CMainWnd* m_pMainWnd;
        !            90: };
        !            91: 
        !            92: /////////////////////////////////////////////////////////////////////////////
        !            93: // CMainWnd : the main window
        !            94: 
        !            95: class CMainWnd : public CFrameWnd
        !            96: {
        !            97: // Construction
        !            98: public:
        !            99:        CMainWnd();
        !           100: 
        !           101: // Attributes
        !           102: public:
        !           103:        CMinServer m_server; // (contains server (contains doc (contains item)))
        !           104: 
        !           105: // Implementation
        !           106: protected:
        !           107:        afx_msg void OnClose();
        !           108: 
        !           109:        // menu commands
        !           110:        afx_msg void OnUpdateClient();
        !           111:        afx_msg void OnChangeString();
        !           112:        afx_msg void OnAbout();
        !           113: 
        !           114:        DECLARE_MESSAGE_MAP()
        !           115: };
        !           116: 
        !           117: /////////////////////////////////////////////////////////////////////////////
        !           118: // CMinApp : the application
        !           119: 
        !           120: class CMinApp : public CWinApp
        !           121: {
        !           122: public:
        !           123:        // single server application
        !           124:        CMinApp() : CWinApp(SERVER_NAME)
        !           125:                { }
        !           126: 
        !           127:        // implementation
        !           128:        BOOL InitInstance();
        !           129:        int ExitInstance();
        !           130: };
        !           131: 
        !           132: /////////////////////////////////////////////////////////////////////////////

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.