123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- // AddType.cpp : implementation file
- //
- #include "stdafx.h"
- #include "cp_main.h"
- #include "AddType.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CAddType dialog
- CAddType::CAddType(CWnd* pParent /*=NULL*/)
- : CDialog(CAddType::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CAddType)
- m_eCustomType = _T("");
- //}}AFX_DATA_INIT
- }
- void CAddType::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CAddType)
- DDX_Control(pDX, IDC_LIST2, m_lbOnClipboard);
- DDX_Control(pDX, IDC_LIST1, m_lbDefaultTypes);
- DDX_Text(pDX, IDC_EDIT1, m_eCustomType);
- DDV_MaxChars(pDX, m_eCustomType, 50);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(CAddType, CDialog)
- //{{AFX_MSG_MAP(CAddType)
- ON_BN_CLICKED(IDC_ADD_1, OnAdd1)
- ON_BN_CLICKED(IDC_ADD_2, OnAdd2)
- ON_BN_CLICKED(IDC_ADD_3, OnAdd3)
- ON_LBN_DBLCLK(IDC_LIST1, OnDblclkList1)
- ON_LBN_DBLCLK(IDC_LIST2, OnDblclkList2)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CAddType message handlers
- BOOL CAddType::OnInitDialog()
- {
- CDialog::OnInitDialog();
-
- m_lbDefaultTypes.AddString("CF_TEXT");
- m_lbDefaultTypes.AddString("CF_BITMAP");
- m_lbDefaultTypes.AddString("CF_METAFILEPICT");
- m_lbDefaultTypes.AddString("CF_SYLK");
- m_lbDefaultTypes.AddString("CF_DIF");
- m_lbDefaultTypes.AddString("CF_TIFF");
- m_lbDefaultTypes.AddString("CF_OEMTEXT");
- m_lbDefaultTypes.AddString("CF_DIB");
- m_lbDefaultTypes.AddString("CF_PALETTE");
- m_lbDefaultTypes.AddString("CF_PENDATA");
- m_lbDefaultTypes.AddString("CF_RIFF");
- m_lbDefaultTypes.AddString("CF_WAVE");
- m_lbDefaultTypes.AddString("CF_UNICODETEXT");
- m_lbDefaultTypes.AddString("CF_ENHMETAFILE");
- m_lbDefaultTypes.AddString("CF_HDROP");
- m_lbDefaultTypes.AddString("CF_LOCALE");
- m_lbDefaultTypes.AddString("CF_OWNERDISPLAY");
- m_lbDefaultTypes.AddString("CF_DSPTEXT");
- m_lbDefaultTypes.AddString("CF_DSPBITMAP");
- m_lbDefaultTypes.AddString("CF_DSPMETAFILEPICT");
- m_lbDefaultTypes.AddString("CF_DSPENHMETAFILE");
- m_lbDefaultTypes.AddString(GetFormatName(RegisterClipboardFormat(CF_RTF)));
- m_lbDefaultTypes.AddString(GetFormatName(RegisterClipboardFormat(CF_RTFNOOBJS)));
- m_lbDefaultTypes.AddString(GetFormatName(RegisterClipboardFormat(CF_RETEXTOBJ)));
- m_lbDefaultTypes.AddString(GetFormatName(RegisterClipboardFormat("HTML Format")));
-
- COleDataObject oleData;
- if(!oleData.AttachClipboard())
- return FALSE;
-
- oleData.BeginEnumFormats();
- FORMATETC test;
-
- while(oleData.GetNextFormat(&test))
- {
- BOOL b = oleData.IsDataAvailable(test.cfFormat);
- m_lbOnClipboard.AddString(GetFormatName(test.cfFormat));
- }
-
- oleData.Release();
- m_lbDefaultTypes.SetFocus();
- theApp.m_Language.UpdateOptionSupportedTypesAdd(this);
- return FALSE;
- }
- void CAddType::OnAdd1()
- {
- m_csSelectedTypes.RemoveAll();
- int nCount = m_lbDefaultTypes.GetSelCount();
- if(nCount)
- {
- CString cs;
- CArray<int,int> items;
- items.SetSize(nCount);
- m_lbDefaultTypes.GetSelItems(nCount, items.GetData());
- for(int i = 0; i < nCount; i++)
- {
- m_lbDefaultTypes.GetText(items[i], cs);
- m_csSelectedTypes.Add(cs);
- }
- }
-
- EndDialog(IDOK);
- }
- void CAddType::OnAdd2()
- {
- UpdateData();
- m_csSelectedTypes.RemoveAll();
- m_csSelectedTypes.Add(m_eCustomType);
-
- EndDialog(IDOK);
- }
- void CAddType::OnAdd3()
- {
- m_csSelectedTypes.RemoveAll();
- int nCount = m_lbOnClipboard.GetSelCount();
- if(nCount)
- {
- CString cs;
- CArray<int,int> items;
- items.SetSize(nCount);
- m_lbOnClipboard.GetSelItems(nCount, items.GetData());
- for(int i = 0; i < nCount; i++)
- {
- m_lbOnClipboard.GetText(items[i], cs);
- m_csSelectedTypes.Add(cs);
- }
- }
- EndDialog(IDOK);
- }
- void CAddType::OnDblclkList1()
- {
- OnAdd1();
- }
- void CAddType::OnDblclkList2()
- {
- OnAdd3();
- }
|