home *** CD-ROM | disk | FTP | other *** search
/ Prima Shareware 3 / DuCom_Prima-Shareware-3_cd1.bin / PROGRAMO / C / CKTBL / SAMPLES / MFCDEMO / DEMOOPT.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-06  |  2.6 KB  |  101 lines

  1. // demoopt.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "mfcdemo.h"    
  6. #include "demoopt.h"
  7. #include "demotbl.h"
  8.  
  9. #ifdef _DEBUG
  10. #undef THIS_FILE
  11. static char BASED_CODE THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CDemoOptionsDialog dialog
  16.  
  17.  
  18. CDemoOptionsDialog::CDemoOptionsDialog(CWnd* pParent /*=NULL*/)
  19.     : CDialog(CDemoOptionsDialog::IDD, pParent)
  20. {
  21.     //{{AFX_DATA_INIT(CDemoOptionsDialog)
  22.     m_Columns = 0;
  23.     m_GrowHorizontal = FALSE;
  24.     m_GrowVertical = FALSE;
  25.     m_Rows = 0;
  26.     //}}AFX_DATA_INIT
  27. }
  28.  
  29. void CDemoOptionsDialog::DoDataExchange(CDataExchange* pDX)
  30. {
  31.     CDialog::DoDataExchange(pDX);
  32.     //{{AFX_DATA_MAP(CDemoOptionsDialog)
  33.     DDX_Text(pDX, IDC_COLUMNS, m_Columns);
  34.     DDV_MinMaxUInt(pDX, m_Columns, 1, 16380);
  35.     DDX_Check(pDX, IDC_OPT_GROW_HORIZONTAL, m_GrowHorizontal);
  36.     DDX_Check(pDX, IDC_OPT_GROW_VERTICAL, m_GrowVertical);
  37.     DDX_Text(pDX, IDC_ROWS, m_Rows);
  38.     DDV_MinMaxUInt(pDX, m_Rows, 1, 16380);
  39.     //}}AFX_DATA_MAP
  40. }
  41.  
  42. BEGIN_MESSAGE_MAP(CDemoOptionsDialog, CDialog)
  43.     //{{AFX_MSG_MAP(CDemoOptionsDialog)
  44.     ON_BN_CLICKED(IDAPPLY, OnApply)
  45.     //}}AFX_MSG_MAP
  46. END_MESSAGE_MAP()
  47.              
  48.  
  49. /////////////////////////////////////////////////////////////////////////////
  50. // CDemoOptionsDialog public protocol
  51.  
  52. void CDemoOptionsDialog::InitializeFrom( CDemoTableControl * aCKTBL )
  53. {
  54.     cktbl = aCKTBL;
  55.     
  56.     m_Columns = cktbl->GetColumns();
  57.     m_Rows = cktbl->GetRows();
  58.  
  59.     //m_AdjustColWidth     = (cktbl->GetFlags() & CKTBL_RESIZE_COLUMNS)!=0;
  60.     //m_AdjustRowHeight     = (cktbl->GetFlags() & CKTBL_RESIZE_ROWS)!=0;
  61.     //m_ShowGridLines     = (cktbl->GetFlags() & CKTBL_SHOW_GRID)!=0;
  62.     m_GrowHorizontal    = cktbl->m_GrowHorizontal;
  63.     m_GrowVertical         = cktbl->m_GrowVertical;
  64. }    
  65.  
  66. void CDemoOptionsDialog::ApplyData()
  67. {
  68.     // TODO: Add your control notification handler code here
  69.           
  70.     cktbl->SetSize( m_Rows, m_Columns );
  71.     //cktbl->SetFlagsTo( CKTBL_RESIZE_COLUMNS,     m_AdjustColWidth );
  72.     //cktbl->SetFlagsTo( CKTBL_RESIZE_ROWS,        m_AdjustRowHeight );
  73.     //cktbl->SetFlagsTo( CKTBL_SHOW_GRID,         m_ShowGridLines );      
  74.     cktbl->m_GrowHorizontal    = m_GrowHorizontal;
  75.     cktbl->m_GrowVertical    = m_GrowVertical;   
  76.     cktbl->Invalidate();
  77. }
  78.           
  79.  
  80. /////////////////////////////////////////////////////////////////////////////
  81. // CDemoOptionsDialog message handlers
  82.  
  83. void CDemoOptionsDialog::OnApply()
  84. {
  85.     // TODO: Add your control notification handler code here
  86.           
  87.     if(UpdateData()) {
  88.         ApplyData();
  89.     }
  90. }
  91.      
  92. void CDemoOptionsDialog::OnOK()
  93. {
  94.     // TODO: Add extra validation here
  95.     
  96.     CDialog::OnOK();  
  97.     ApplyData();
  98.  
  99.  
  100.