SelectPasteFormat.cpp 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // SelectPasteFormat.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "DittoUtil.h"
  5. #include "SelectPasteFormat.h"
  6. #include ".\selectpasteformat.h"
  7. // CSelectPasteFormat dialog
  8. IMPLEMENT_DYNAMIC(CSelectPasteFormat, CDialog)
  9. CSelectPasteFormat::CSelectPasteFormat(CWnd* pParent, IClipFormats *clipFormats)
  10. : CDialog(CSelectPasteFormat::IDD, pParent)
  11. {
  12. m_pClipFormats = clipFormats;
  13. m_selectedFormat = 0;
  14. m_pasteAsUnicode = false;
  15. }
  16. CSelectPasteFormat::~CSelectPasteFormat()
  17. {
  18. }
  19. void CSelectPasteFormat::DoDataExchange(CDataExchange* pDX)
  20. {
  21. CDialog::DoDataExchange(pDX);
  22. DDX_Control(pDX, IDC_LIST1, m_Formats);
  23. }
  24. BEGIN_MESSAGE_MAP(CSelectPasteFormat, CDialog)
  25. ON_LBN_DBLCLK(IDC_LIST1, OnLbnDblclkList1)
  26. ON_WM_SIZE()
  27. END_MESSAGE_MAP()
  28. BOOL CSelectPasteFormat::OnInitDialog()
  29. {
  30. CDialog::OnInitDialog();
  31. if(m_pClipFormats != NULL)
  32. {
  33. int count = m_pClipFormats->Size();
  34. for(int i = 0; i < count; i++)
  35. {
  36. CString formatName = DittoAddinHelpers::GetFormatName(m_pClipFormats->GetAt(i)->Type());
  37. int pos = m_Formats.AddString(formatName);
  38. m_Formats.SetItemData(pos, m_pClipFormats->GetAt(i)->Type());
  39. }
  40. }
  41. m_Resize.SetParent(m_hWnd);
  42. m_Resize.AddControl(IDC_LIST1, DR_SizeHeight | DR_SizeWidth);
  43. m_Resize.AddControl(IDOK, DR_MoveTop | DR_MoveLeft);
  44. m_Resize.AddControl(IDCANCEL, DR_MoveTop | DR_MoveLeft);
  45. m_Resize.AddControl(IDC_CHECK_PASTE_AS_UNICODE, DR_MoveTop);
  46. return TRUE;
  47. }
  48. void CSelectPasteFormat::OnOK()
  49. {
  50. int pos = m_Formats.GetCurSel();
  51. if(pos >= 0 && pos < m_Formats.GetCount())
  52. {
  53. m_selectedFormat = (CLIPFORMAT)m_Formats.GetItemData(pos);
  54. }
  55. m_pasteAsUnicode = (::IsDlgButtonChecked(m_hWnd, IDC_CHECK_PASTE_AS_UNICODE) == BST_CHECKED);
  56. CDialog::OnOK();
  57. }
  58. void CSelectPasteFormat::OnLbnDblclkList1()
  59. {
  60. OnOK();
  61. }
  62. void CSelectPasteFormat::OnSize(UINT nType, int cx, int cy)
  63. {
  64. CDialog::OnSize(nType, cx, cy);
  65. m_Resize.MoveControls(CSize(cx, cy));
  66. }