CombineDlg.cpp
Upload User: ty808080
Upload Date: 2022-02-22
Package Size: 101k
Code Size: 2k
Category:

GDI-Bitmap

Development Platform:

Visual C++

  1. #include "stdafx.h"
  2. #include "app.h"
  3. #include "CombineDlg.h"
  4. #include "doc.h"
  5. #ifdef _DEBUG
  6. #define new DEBUG_NEW
  7. #undef THIS_FILE
  8. static char THIS_FILE[] = __FILE__;
  9. #endif
  10. CCombineDlg::CCombineDlg(CWnd* pParent /*=NULL*/)
  11. : CDialog(CCombineDlg::IDD, pParent)
  12. {
  13. //{{AFX_DATA_INIT(CCombineDlg)
  14. //}}AFX_DATA_INIT
  15.   m_pRedImage = NULL;
  16.   m_pGreenImage = NULL;
  17.   m_pBlueImage = NULL;
  18. }
  19. void CCombineDlg::DoDataExchange(CDataExchange* pDX)
  20. {
  21. CDialog::DoDataExchange(pDX);
  22. //{{AFX_DATA_MAP(CCombineDlg)
  23. DDX_Control(pDX, IDC_RED_CHANNEL, m_ctrlRedChannel);
  24. DDX_Control(pDX, IDC_GREEN_CHANNEL, m_ctrlGreenChannel);
  25. DDX_Control(pDX, IDC_BLUE_CHANNEL, m_ctrlBlueChannel);
  26. //}}AFX_DATA_MAP
  27. }
  28. BEGIN_MESSAGE_MAP(CCombineDlg, CDialog)
  29. //{{AFX_MSG_MAP(CCombineDlg)
  30. //}}AFX_MSG_MAP
  31. END_MESSAGE_MAP()
  32. BOOL CCombineDlg::OnInitDialog() 
  33. {
  34. CDialog::OnInitDialog();
  35.   POSITION posTemplate = AfxGetApp()->GetFirstDocTemplatePosition();
  36.   while (posTemplate != NULL) 
  37.   {
  38.     CDocTemplate* pTemplate = AfxGetApp()->GetNextDocTemplate(posTemplate);
  39.     ASSERT(pTemplate->IsKindOf(RUNTIME_CLASS(CDocTemplate)));
  40.     POSITION posDoc = pTemplate->GetFirstDocPosition();
  41.     while (posDoc != NULL) 
  42.     {
  43.       CDibtestDoc* pDoc = (CDibtestDoc*) pTemplate->GetNextDoc(posDoc);
  44.       ASSERT(pDoc->IsKindOf(RUNTIME_CLASS(CDibtestDoc)));
  45.       m_ctrlRedChannel.AddString(pDoc->GetTitle());
  46.       m_ctrlRedChannel.SetItemData(m_ctrlRedChannel.GetCount()-1, (DWORD) pDoc);
  47.       m_ctrlGreenChannel.AddString(pDoc->GetTitle());
  48.       m_ctrlGreenChannel.SetItemData(m_ctrlGreenChannel.GetCount()-1, (DWORD) pDoc);
  49.       m_ctrlBlueChannel.AddString(pDoc->GetTitle());
  50.       m_ctrlBlueChannel.SetItemData(m_ctrlBlueChannel.GetCount()-1, (DWORD) pDoc);
  51.     }
  52.   }
  53.   m_ctrlRedChannel.SetCurSel(0);
  54.   m_ctrlGreenChannel.SetCurSel(0);
  55.   m_ctrlBlueChannel.SetCurSel(0);
  56. return TRUE;
  57. }
  58. void CCombineDlg::OnOK() 
  59. {
  60.   CDibtestDoc* pRedDoc = (CDibtestDoc*) m_ctrlRedChannel.GetItemData(m_ctrlRedChannel.GetCurSel());
  61. m_pRedImage = &pRedDoc->m_Dib;
  62.   CDibtestDoc* pGreenDoc = (CDibtestDoc*) m_ctrlGreenChannel.GetItemData(m_ctrlGreenChannel.GetCurSel());
  63. m_pGreenImage = &pGreenDoc->m_Dib;
  64.   CDibtestDoc* pBlueDoc = (CDibtestDoc*) m_ctrlBlueChannel.GetItemData(m_ctrlBlueChannel.GetCurSel());
  65. m_pBlueImage = &pBlueDoc->m_Dib;
  66. CDialog::OnOK();
  67. }