void CFunctionListDlg::OnCopyName() { int iWhich = m_ctlFunctions.GetNextItem(-1, LVNI_SELECTED); if (iWhich != -1) { putontoclipboard (m_ctlFunctions.GetItemText (iWhich, 0)); CDialog::OnOK(); } else ::TMessageBox ("No function selected"); }
void CGenPropertyPage::OnCopyItem() { char * p = NULL; try { CMemFile f; // open memory file for writing CArchive ar(&f, CArchive::store); // in case we do more than one (one day) the header comes before the batch if (m_strObjectType == "alias") m_doc->Save_Header_XML (ar, "aliases", false); else m_doc->Save_Header_XML (ar, m_strObjectType + "s", false); // timers, triggers etc. for (int nItem = -1; (nItem = m_ctlList->GetNextItem(nItem, LVNI_SELECTED)) != -1;) { // get the lower-case name of this item's object CString * pstrObjectName = (CString *) m_ctlList->GetItemData (nItem); ASSERT (pstrObjectName != NULL); CObject * pItem; // check object is still there (it might have gone while we looked at the list box) if (!m_ObjectMap->Lookup (*pstrObjectName, pItem)) { CString strMsg; m_ctlList->DeleteItem (nItem); // it's gone, so delete it from the list view m_ctlList->RedrawItems (0, m_ctlList->GetItemCount () - 1); // redraw the list // in the case of one-shot timers, unnamed items might be removed from the list if (pstrObjectName->Left (1) == "*") strMsg = TFormat ("The %s you selected is no longer in the %s list", (LPCTSTR) m_strObjectType, (LPCTSTR) m_strObjectType); else strMsg = TFormat ("The %s named \"%s\" is no longer in the %s list", (LPCTSTR) m_strObjectType, (LPCTSTR) *pstrObjectName, (LPCTSTR) m_strObjectType); ::UMessageBox (strMsg); delete pstrObjectName; // and get rid of its name string continue; } ASSERT_VALID (pItem); ASSERT( pItem->IsKindOf( RUNTIME_CLASS( CObject ) ) ); // turn into XML if (m_strObjectType == "trigger") m_doc->Save_One_Trigger_XML (ar, (CTrigger *) pItem); else if (m_strObjectType == "alias") m_doc->Save_One_Alias_XML (ar, (CAlias *) pItem); else if (m_strObjectType == "timer") m_doc->Save_One_Timer_XML (ar, (CTimer *) pItem); else if (m_strObjectType == "variable") m_doc->Save_One_Variable_XML (ar, (CVariable *) pItem); } // end of dealing with each selected item if (m_strObjectType == "alias") m_doc->Save_Footer_XML (ar, "aliases"); else m_doc->Save_Footer_XML (ar, m_strObjectType + "s"); // timers, triggers etc. ar.Close(); int nLength = f.GetLength (); p = (char *) f.Detach (); CString strXML (p, nLength); free (p); // remove memory allocated in CMemFile p = NULL; putontoclipboard (strXML, m_doc->m_bUTF_8); } // end of try block catch (CException* e) { if (p) free (p); // remove memory allocated in CMemFile e->ReportError(); e->Delete(); } } // end of CGenPropertyPage::OnCopyItem
void CMUSHclientDoc::SetClipboard(LPCTSTR Text) { putontoclipboard (Text); } // end of CMUSHclientDoc::SetClipboard
void CColourButton::OnPopupCopycolour() { // to save a lot of mucking around I will copy colours in text format, compatible with VB putontoclipboard (CFormat ("&h%X", m_colour & 0xFFFFFF)); }