ContrastDlg.cpp
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:6k
- /********************************************************************
- ContrastDlg.cpp - ISee图像浏览器—图像处理模块类ContrastDlg实现
- 代码文件
- 版权所有(C) VCHelp-coPathway-ISee workgroup 2000 all member's
- 这一程序是自由软件,你可以遵照自由软件基金会出版的GNU 通用许可证
- 条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根据你
- 的选择)用任何更新的版本。
- 发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定
- 目地的隐含的担保。更详细的情况请参阅GNU通用许可证。
- 你应该已经和程序一起收到一份GNU通用许可证(GPL)的副本。如果还没有,
- 写信给:
- The Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
- MA02139, USA
- 如果你在使用本软件时有什么问题或建议,用以下地址可以与我们取得联
- 系:
- http://isee.126.com
- http://www.vchelp.net
- 或:
- iseesoft@china.com
- 作者:马翔
- e-mail:hugesoft@yeah.net
- 功能实现:界面对话模框
- 文件版本:
- Build 000123
- Date 2000-12-3
- ********************************************************************/
- // ContrastDlg.cpp : implementation file
- //
- #include "stdafx.h"
- #include "flt_mass.h"
- #include "ContrastDlg.h"
- #include "DrawPreView.h"
- #include "draw.h"
- #include "Contrast.h"
- #include "AdjustContrast.h"
- #include "System.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- #define DELAYTIME 300
- /////////////////////////////////////////////////////////////////////////////
- // CContrastDlg dialog
- CContrastDlg::CContrastDlg(CWnd* pParent /*=NULL*/)
- : CDialog(CContrastDlg::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CContrastDlg)
- m_strBright = _T("100");
- m_strContrast = _T("100");
- //}}AFX_DATA_INIT
- }
- void CContrastDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CContrastDlg)
- DDX_Control(pDX, IDC_EDIT_CONTRAST, m_cContrast);
- DDX_Control(pDX, IDC_EDIT_BRIGHT, m_cBright);
- DDX_Text(pDX, IDC_EDIT_BRIGHT, m_strBright);
- DDV_MaxChars(pDX, m_strBright, 3);
- DDX_Text(pDX, IDC_EDIT_CONTRAST, m_strContrast);
- DDV_MaxChars(pDX, m_strContrast, 3);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(CContrastDlg, CDialog)
- //{{AFX_MSG_MAP(CContrastDlg)
- ON_EN_CHANGE(IDC_EDIT_BRIGHT, OnChangeEditBright)
- ON_EN_CHANGE(IDC_EDIT_CONTRAST, OnChangeEditContrast)
- ON_WM_DRAWITEM()
- ON_WM_MOUSEMOVE()
- ON_WM_TIMER()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CContrastDlg message handlers
- BOOL CContrastDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
-
- // TODO: Add extra initialization here
- m_nBright=m_nContrast=100;
-
- CreatMemImage(lpProcInfo);
- m_wndBrightBar.SubclassDlgItem(IDC_LINETRACKBRIGHT, this);
- m_wndBrightBar.InitControl(IDC_EDIT_BRIGHT,RGB(0,0,0),0, 100,200);
- m_wndContrastBar.SubclassDlgItem(IDC_LINETRACKCONTRAST, this);
- m_wndContrastBar.InitControl (IDC_EDIT_CONTRAST,RGB(0,0,0),0,100,200);
- InitDraw();
- m_wndLogo.SubclassDlgItem (IDC_LOGO_CONTRAST,this);
- m_wndLogo.SetLogoFont ("SIMSUN");
- m_wndLogo.SetLogoText ("iSee特效滤镜");
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
- void CContrastDlg::OnChangeEditContrast()
- {
- // TODO: If this is a RICHEDIT control, the control will not
- // send this notification unless you override the CDialog::OnInitDialog()
- // function and call CRichEditCtrl().SetEventMask()
- // with the ENM_CHANGE flag ORed into the mask.
-
- // TODO: Add your control notification handler code here
- UpdateData();
- m_nContrast=atoi(m_strContrast);
- m_nContrast=atoi(m_strContrast);
- if(m_nContrast>200)
- {
- m_nContrast=200;
- }
- if(m_nBright>200)
- {
- m_nBright=200;
- }
- m_wndContrastBar.SetPos (m_nContrast);
- // if(GetFocus()==GetDlgItem(IDC_EDIT_CONTRAST))
- {
- KillTimer(1);
- SetTimer(1,DELAYTIME,NULL);
- }
- UpdateData(FALSE);
- }
- void CContrastDlg::OnChangeEditBright()
- {
- // TODO: If this is a RICHEDIT control, the control will not
- // send this notification unless you override the CDialog::OnInitDialog()
- // function and call CRichEditCtrl().SetEventMask()
- // with the ENM_CHANGE flag ORed into the mask.
-
- // TODO: Add your control notification handler code here
- UpdateData();
- m_nBright=atoi(m_strBright);
- m_nContrast=atoi(m_strContrast);
- if(m_nContrast>200)
- {
- m_nContrast=200;
- }
- if(m_nBright>200)
- {
- m_nBright=200;
- }
- m_wndBrightBar.SetPos (m_nBright);
- // if(GetFocus()==GetDlgItem(IDC_EDIT_BRIGHT))
- {
- KillTimer(1);
- SetTimer(1,DELAYTIME,NULL);
- }
- UpdateData(FALSE);
- }
- void CContrastDlg::OnOK()
- {
- // TODO: Add extra validation here
- KillTimer(1);
- BeginWaitCursor ();
- ClearPreView();
- if(m_nContrast>200)
- {
- m_nContrast=200;
- }
- if(m_nBright>200)
- {
- m_nBright=200;
- }
- CDialog::OnOK();
- _fnCOM_AdjustContrast(lpProcInfo,m_nBright-100,m_nContrast-100);
- EndWaitCursor ();
- }
- void CContrastDlg::OnCancel()
- {
- // TODO: Add extra cleanup here
- KillTimer(1);
- ClearPreView();
- Del(lpProcInfo->_pdbdata );
- CDialog::OnCancel();
- }
- void CContrastDlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
- {
- // TODO: Add your message handler code here and/or call default
- _fnCOM_DrawResizePrView(nIDCtl,lpDrawItemStruct);//(LPDRAWITEMSTRUCT)lpProcInfo);
- CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct);
- }
- void CContrastDlg::OnMouseMove(UINT nFlags, CPoint point)
- {
- // TODO: Add your message handler code here and/or call default
- if(nFlags==MK_LBUTTON)
- {
- }
- CDialog::OnMouseMove(nFlags, point);
- }
- void CContrastDlg::OnTimer(UINT nIDEvent)
- {
- // TODO: Add your message handler code here and/or call default
- _fnCOM_AdjustContrastPreView(m_nBright-100,m_nContrast-100);
-
- GetDlgItem (IDC_PRVIEW_CONTRAST)->InvalidateRect (NULL,TRUE);
- GetDlgItem (IDC_PRVIEW_CONTRAST)->UpdateWindow();
- switch(nIDEvent)
- {
- case 1:
- KillTimer(1);
- break;
- }
- CDialog::OnTimer(nIDEvent);
- }