Annotation of mstools/mfc/samples/minsvr/minsvr.h, revision 1.1.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.