Annotation of mstools/mfc/samples/oserver/bibitem.cpp, 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: #include "bibref.h"
        !            13: #include "bibitem.h"
        !            14: #include "bibdoc.h"
        !            15: 
        !            16: /////////////////////////////////////////////////////////////////////////////
        !            17: 
        !            18: CBibItem::CBibItem(const char* pszKey)
        !            19: {
        !            20:        m_key = pszKey;     // used for the name of the item
        !            21: }
        !            22: 
        !            23: OLESTATUS
        !            24: CBibItem::OnRelease()
        !            25: {
        !            26:        OLESTATUS status;
        !            27:        if ((status = COleServerItem::OnRelease()) != OLE_OK)
        !            28:                return status;
        !            29:        delete this;
        !            30:        return OLE_OK;
        !            31: }
        !            32: 
        !            33: void
        !            34: CBibItem::Serialize(CArchive& ar)
        !            35: {
        !            36:        // the raw native format for a bib-item is just it's key
        !            37: 
        !            38:        if (ar.IsStoring())
        !            39:        {
        !            40:                ar << m_key;
        !            41:        }
        !            42:        else
        !            43:        {
        !            44:                ar >> m_key;
        !            45:        }
        !            46: }
        !            47: 
        !            48: 
        !            49: OLESTATUS
        !            50: CBibItem::OnShow(BOOL /* bTakeFocus */)
        !            51: {
        !            52:        // Scroll into view
        !            53:        if (!GetDocument()->ShowItem(m_key))
        !            54:        {
        !            55:                TRACE("no item specified\n");
        !            56:        }
        !            57: 
        !            58:        // make sure Bibref viewer is the topmost window
        !            59:        AfxGetApp()->m_pMainWnd->BringWindowToTop();
        !            60: 
        !            61:        return OLE_OK;
        !            62: }
        !            63: 
        !            64: 
        !            65: BOOL
        !            66: CBibItem::OnGetTextData(CString& rStringReturn)
        !            67: {
        !            68:        return GetDocument()->GetItemValue(m_key, rStringReturn) != -1;
        !            69: }
        !            70: 
        !            71: /////////////////////////////////////////////////////////////////////////////
        !            72: // Drawing items into bitmap or metafile
        !            73: 
        !            74: BOOL CBibItem::OnDraw(CMetaFileDC* pDC)
        !            75: {
        !            76:        CString value;
        !            77: 
        !            78:        if (GetDocument()->GetItemValue(m_key, value) == -1)
        !            79:                return TRUE;    // leave it blank
        !            80:        
        !            81:        pDC->SetMapMode(MM_TEXT);
        !            82:        pDC->TextOut(0, 0, value);
        !            83:        return TRUE;
        !            84: }
        !            85: 
        !            86: /////////////////////////////////////////////////////////////////////////////
        !            87: 
        !            88: #ifdef _DEBUG
        !            89: void CBibItem::AssertValid() const
        !            90: {
        !            91:        COleServerItem::AssertValid();
        !            92: }
        !            93: 
        !            94: 
        !            95: void CBibItem::Dump(CDumpContext& dc) const
        !            96: {
        !            97:        COleServerItem::Dump(dc);
        !            98: }
        !            99: 
        !           100: #endif
        !           101: 
        !           102: /////////////////////////////////////////////////////////////////////////////

unix.superglobalmegacorp.com

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