FilterDlg.cpp
上传用户:tianjuedz
上传日期:2022-08-10
资源大小:2349k
文件大小:2k
源码类别:

图形图像处理

开发平台:

Visual C++

  1. // FilterDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ED256.h"
  5. #include "FilterDlg.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CFilterDlg dialog
  13. CFilterDlg::CFilterDlg(CWnd* pParent /*=NULL*/)
  14. : CDialog(CFilterDlg::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CFilterDlg)
  17. m_fEdit1 = 0.0f;
  18. m_fEdit2 = 0.0f;
  19. m_fEdit3 = 0.0f;
  20. m_fEdit4 = 0.0f;
  21. m_fEdit5 = 0.0f;
  22. m_fEdit6 = 0.0f;
  23. m_fEdit7 = 0.0f;
  24. m_fEdit8 = 0.0f;
  25. m_fEdit9 = 0.0f;
  26. //}}AFX_DATA_INIT
  27. }
  28. void CFilterDlg::DoDataExchange(CDataExchange* pDX)
  29. {
  30. CDialog::DoDataExchange(pDX);
  31. //{{AFX_DATA_MAP(CFilterDlg)
  32. DDX_Control(pDX, IDC_TYPE, m_cType);
  33. DDX_Text(pDX, IDC_EDIT1, m_fEdit1);
  34. DDX_Text(pDX, IDC_EDIT2, m_fEdit2);
  35. DDX_Text(pDX, IDC_EDIT3, m_fEdit3);
  36. DDX_Text(pDX, IDC_EDIT4, m_fEdit4);
  37. DDX_Text(pDX, IDC_EDIT5, m_fEdit5);
  38. DDX_Text(pDX, IDC_EDIT6, m_fEdit6);
  39. DDX_Text(pDX, IDC_EDIT7, m_fEdit7);
  40. DDX_Text(pDX, IDC_EDIT8, m_fEdit8);
  41. DDX_Text(pDX, IDC_EDIT9, m_fEdit9);
  42. //}}AFX_DATA_MAP
  43. }
  44. BEGIN_MESSAGE_MAP(CFilterDlg, CDialog)
  45. //{{AFX_MSG_MAP(CFilterDlg)
  46. ON_CBN_SELENDOK(IDC_TYPE, OnSelEndOKType)
  47. //}}AFX_MSG_MAP
  48. END_MESSAGE_MAP()
  49. /////////////////////////////////////////////////////////////////////////////
  50. // CFilterDlg message handlers
  51. void CFilterDlg::OnSelEndOKType() {
  52. int type = m_cType.GetCurSel();
  53. if (type == 0) {
  54. for (int i=0;i<9;i++) SetDlgItemInt(IDC_EDIT1+i, 1);
  55. SetDlgItemInt(IDC_EDIT5,-8);
  56. UpdateData(true);
  57. }
  58. if (type == 1) {
  59. m_fEdit1 = 1.0f/6.0f;
  60. m_fEdit3 = 1.0f/6.0f;
  61. m_fEdit7 = 1.0f/6.0f;
  62. m_fEdit9 = 1.0f/6.0f;
  63. m_fEdit2 = 4.0f/6.0f;
  64. m_fEdit4 = 4.0f/6.0f;
  65. m_fEdit6 = 4.0f/6.0f;
  66. m_fEdit8 = 4.0f/6.0f;
  67. m_fEdit5 = -20.0f/6.0f;
  68. UpdateData(false);
  69. }
  70. }
  71. void CFilterDlg::OnOK() {
  72. UpdateData();
  73. CDialog::OnOK();
  74. }
  75. void CFilterDlg::SetFilter(float *filter) {
  76. m_fEdit1 = (*filter); filter++;
  77. m_fEdit2 = (*filter); filter++;
  78. m_fEdit3 = (*filter); filter++;
  79. m_fEdit4 = (*filter); filter++;
  80. m_fEdit5 = (*filter); filter++;
  81. m_fEdit6 = (*filter); filter++;
  82. m_fEdit7 = (*filter); filter++;
  83. m_fEdit8 = (*filter); filter++;
  84. m_fEdit9 = (*filter); filter++;
  85. }
  86. BOOL CFilterDlg::OnInitDialog() {
  87. CDialog::OnInitDialog();
  88. UpdateData(false); // Data should be set w/SetFilter().
  89. m_cType.SetCurSel(1);
  90. OnSelEndOKType();
  91. return TRUE;
  92. }