|
|
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: /////////////////////////////////////////////////////////////////////////////
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.