PenDlg.cpp
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:3k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // PenDlg.cpp : implementation file
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #include "stdafx.h"
  21. #include "Scribble.h"
  22. #include "PenDlg.h"
  23. #ifdef _DEBUG
  24. #undef THIS_FILE
  25. static char THIS_FILE[] = __FILE__;
  26. #endif
  27. /////////////////////////////////////////////////////////////////////////////
  28. // CPenWidthsDlg dialog
  29. CPenWidthsDlg::CPenWidthsDlg(CWnd* pParent /*=NULL*/)
  30. // : CDialog(CPenWidthsDlg::IDD, pParent)
  31. {
  32. InitModalIndirect(XTPResourceManager()->LoadDialogTemplate(IDD), pParent);
  33. //{{AFX_DATA_INIT(CPenWidthsDlg)
  34. m_nThinWidth = 0;
  35. m_nThickWidth = 0;
  36. //}}AFX_DATA_INIT
  37. }
  38. void CPenWidthsDlg::DoDataExchange(CDataExchange* pDX)
  39. {
  40. CDialog::DoDataExchange(pDX);
  41. //{{AFX_DATA_MAP(CPenWidthsDlg)
  42. DDX_Text(pDX, IDC_THIN_PEN_WIDTH, m_nThinWidth);
  43. DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);
  44. DDX_Text(pDX, IDC_THICK_PEN_WIDTH, m_nThickWidth);
  45. DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);
  46. //}}AFX_DATA_MAP
  47. }
  48. BEGIN_MESSAGE_MAP(CPenWidthsDlg, CDialog)
  49. //{{AFX_MSG_MAP(CPenWidthsDlg)
  50. ON_BN_CLICKED(IDC_DEFAULT_PEN_WIDTHS, OnDefaultPenWidths)
  51. //}}AFX_MSG_MAP
  52. END_MESSAGE_MAP()
  53. /////////////////////////////////////////////////////////////////////////////
  54. // CPenWidthsDlg message handlers
  55. void CPenWidthsDlg::OnDefaultPenWidths()
  56. {
  57. m_nThinWidth = 2;
  58. m_nThickWidth = 5;
  59. UpdateData(FALSE);  // causes DoDataExchange()
  60. // bSave=FALSE means don't save from screen,
  61. // rather, write to screen
  62. }
  63. BOOL CPenWidthsDlg::OnInitDialog()
  64. {
  65. CDialog::OnInitDialog();
  66. LCID lcid = GetThreadLocale();
  67. if ( lcid == MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT))
  68. {
  69. // set the characterset explicitly
  70. // -> to run the applicatin in Japanese on a non Japanges Windows
  71. CFont* pFont = GetFont();
  72. LOGFONT lf;
  73. if ( pFont != NULL  )
  74. {
  75. pFont->GetLogFont(&lf);
  76. lf.lfCharSet = SHIFTJIS_CHARSET;
  77. m_DlgFont.CreateFontIndirect(&lf);
  78. GetDlgItem(IDC_STATIC_THIN)->SetFont(&m_DlgFont);
  79. GetDlgItem(IDC_STATIC_THICK)->SetFont(&m_DlgFont);
  80. GetDlgItem(IDCANCEL)->SetFont(&m_DlgFont);
  81. GetDlgItem(IDC_DEFAULT_PEN_WIDTHS)->SetFont(&m_DlgFont);
  82. }
  83. }
  84. return TRUE;  // return TRUE unless you set the focus to a control
  85.               // EXCEPTION: OCX Property Pages should return FALSE
  86. }