stretchdlg.cpp
上传用户:lbr_007
上传日期:2019-05-31
资源大小:282k
文件大小:2k
源码类别:

传真(Fax)编程

开发平台:

Visual C++

  1. // stretchdlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "TIFFSample.h"
  5. #include "stretchdlg.h"
  6. #include "TIFFDoc.h"
  7. #include "TIFFView.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. extern TIFFView * g_view;
  14. /////////////////////////////////////////////////////////////////////////////
  15. // StretchDLG dialog
  16. StretchDLG::StretchDLG(CWnd* pParent /*=NULL*/)
  17. : CDialog(StretchDLG::IDD, pParent)
  18. {
  19. //{{AFX_DATA_INIT(StretchDLG)
  20. // NOTE: the ClassWizard will add member initialization here
  21. //}}AFX_DATA_INIT
  22. }
  23. void StretchDLG::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(StretchDLG)
  27. DDX_Control(pDX, IDC_STRETCH_SLIDER, m_slider);
  28. //}}AFX_DATA_MAP
  29. }
  30. BEGIN_MESSAGE_MAP(StretchDLG, CDialog)
  31. //{{AFX_MSG_MAP(StretchDLG)
  32. ON_WM_VSCROLL()
  33. //}}AFX_MSG_MAP
  34. END_MESSAGE_MAP()
  35. /////////////////////////////////////////////////////////////////////////////
  36. // StretchDLG message handlers
  37. BOOL StretchDLG::OnInitDialog() 
  38. {
  39. CDialog::OnInitDialog();
  40. m_slider.SetRange(1,20);
  41. m_slider.SetPos(10);
  42. return TRUE;  // return TRUE unless you set the focus to a control
  43.               // EXCEPTION: OCX Property Pages should return FALSE
  44. }
  45. void StretchDLG::SetSliderPos(int pos)
  46. {
  47. if (m_slider.m_hWnd)
  48. {
  49. if ((pos >= 1) && (pos <= 20))
  50. {
  51. m_slider.SetPos(pos);
  52. }
  53. }
  54. }
  55. void StretchDLG::ResetSliderPos(void)
  56. {
  57. if (m_slider.m_hWnd)
  58. {
  59. m_slider.SetPos(10);
  60. }
  61. }
  62. void StretchDLG::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
  63. {
  64. if (m_slider.m_hWnd)
  65. {
  66. if (g_view)
  67. {
  68. int pos = m_slider.GetPos();
  69. if ((pos >= 1) && (pos <= 20))
  70. {
  71. int delta = pos - 10;
  72. double sf = 1.0 + (double)delta*0.10;
  73. if (sf < 0.1) sf = 0.1;
  74. if (sf > 2.0) sf = 2.0;
  75. g_view->StretchImage(sf);
  76. }
  77. }
  78. }
  79. CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
  80. }