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

  1. // actiondi.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "mfcdemo.h"
  6. #include "actiondi.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. // CActionDialog dialog
  16.  
  17.  
  18. CActionDialog::CActionDialog(CWnd* pParent /*=NULL*/)
  19.     : CDialog(CActionDialog::IDD, pParent)
  20. {
  21.     //{{AFX_DATA_INIT(CActionDialog)
  22.     m_EditCells = FALSE;
  23.     m_ControlSelect = FALSE;
  24.     m_EditColumnLabels = FALSE;
  25.     m_EditRowLabels = FALSE;
  26.     m_ExtendedSelect = FALSE;
  27.     m_SelectAll = FALSE;
  28.     m_SelectCells = FALSE;
  29.     m_SelectColumns = FALSE;
  30.     m_SelectRows = FALSE;
  31.     m_ShiftSelect = FALSE;
  32.     m_ResizeColumns = FALSE;
  33.     m_ResizeRows = FALSE;
  34.     //}}AFX_DATA_INIT
  35. }
  36.  
  37. void CActionDialog::DoDataExchange(CDataExchange* pDX)
  38. {
  39.     CDialog::DoDataExchange(pDX);
  40.     //{{AFX_DATA_MAP(CActionDialog)
  41.     DDX_Check(pDX, IDC_ACTION_EDITCELLS, m_EditCells);
  42.     DDX_Check(pDX, IDC_ACTION_CONTROLSELECT, m_ControlSelect);
  43.     DDX_Check(pDX, IDC_ACTION_EDITCOLUMNLABELS, m_EditColumnLabels);
  44.     DDX_Check(pDX, IDC_ACTION_EDITROWLABELS, m_EditRowLabels);
  45.     DDX_Check(pDX, IDC_ACTION_EXTENDEDSELECT, m_ExtendedSelect);
  46.     DDX_Check(pDX, IDC_ACTION_SELECTALL, m_SelectAll);
  47.     DDX_Check(pDX, IDC_ACTION_SELECTCELLS, m_SelectCells);
  48.     DDX_Check(pDX, IDC_ACTION_SELECTCOLUMNS, m_SelectColumns);
  49.     DDX_Check(pDX, IDC_ACTION_SELECTROWS, m_SelectRows);
  50.     DDX_Check(pDX, IDC_ACTION_SHIFTSELECT, m_ShiftSelect);
  51.     DDX_Check(pDX, IDC_ACTION_RESIZE_COLUMNS, m_ResizeColumns);
  52.     DDX_Check(pDX, IDC_ACTION_RESIZE_ROWS, m_ResizeRows);
  53.     //}}AFX_DATA_MAP
  54. }
  55.  
  56. BEGIN_MESSAGE_MAP(CActionDialog, CDialog)
  57.     //{{AFX_MSG_MAP(CActionDialog)
  58.     //}}AFX_MSG_MAP
  59. END_MESSAGE_MAP()
  60.      
  61. /////////////////////////////////////////////////////////////////////////////
  62. // CActionDialog public protocol
  63.                         
  64. void CActionDialog::InitializeFrom( CDemoTableControl * aCKTBL )
  65. {                   
  66.     DWORD flags  = aCKTBL->GetFlags();
  67.     cktbl = aCKTBL;
  68.     
  69.     m_EditCells         = (flags&CKTBL_EDIT_CELLS)!=0;
  70.     m_EditColumnLabels     = (flags&CKTBL_EDIT_COLUMN_LABELS)!=0;
  71.     m_EditRowLabels        = (flags&CKTBL_EDIT_ROW_LABELS)!=0;
  72.     
  73.     m_ShiftSelect         = (flags&CKTBL_SHIFT_SELECT)!=0;
  74.     m_ControlSelect     = (flags&CKTBL_CONTROL_SELECT)!=0;
  75.     m_ExtendedSelect     = (flags&CKTBL_EXTENDED_SELECT)!=0;
  76.     
  77.     m_SelectAll         = (flags&CKTBL_SELECT_ALL)!=0;
  78.     m_SelectCells         = (flags&CKTBL_SELECT_CELLS)!=0;
  79.     m_SelectColumns     = (flags&CKTBL_SELECT_COLUMNS)!=0;
  80.     m_SelectRows         = (flags&CKTBL_SELECT_ROWS)!=0;
  81.     
  82.     m_ResizeColumns     = (flags&CKTBL_RESIZE_COLUMNS)!=0;
  83.     m_ResizeRows         = (flags&CKTBL_RESIZE_ROWS)!=0;
  84. }    
  85.  
  86. void CActionDialog::ApplyData()
  87. {
  88.     // TODO: Add your control notification handler code here
  89.           
  90.     cktbl->SetFlagsTo( CKTBL_EDIT_CELLS, m_EditCells );
  91.      cktbl->SetFlagsTo( CKTBL_EDIT_COLUMN_LABELS, m_EditColumnLabels );
  92.     cktbl->SetFlagsTo( CKTBL_EDIT_ROW_LABELS, m_EditRowLabels );
  93.  
  94.     cktbl->SetFlagsTo( CKTBL_SHIFT_SELECT, m_ShiftSelect );
  95.     cktbl->SetFlagsTo( CKTBL_CONTROL_SELECT, m_ControlSelect );
  96.     cktbl->SetFlagsTo( CKTBL_EXTENDED_SELECT, m_ExtendedSelect );
  97.  
  98.     cktbl->SetFlagsTo( CKTBL_SELECT_ALL, m_SelectAll );
  99.     cktbl->SetFlagsTo( CKTBL_SELECT_CELLS, m_SelectCells );
  100.     cktbl->SetFlagsTo( CKTBL_SELECT_COLUMNS, m_SelectColumns );
  101.     cktbl->SetFlagsTo( CKTBL_SELECT_ROWS, m_SelectRows );
  102.  
  103.     cktbl->SetFlagsTo( CKTBL_RESIZE_COLUMNS, m_ResizeColumns );
  104.     cktbl->SetFlagsTo( CKTBL_RESIZE_ROWS, m_ResizeRows );
  105.  
  106.     cktbl->Invalidate();
  107. }
  108.           
  109.  
  110. /////////////////////////////////////////////////////////////////////////////
  111. // CActionDialog message handlers
  112.  
  113. void CActionDialog::OnOK()
  114. {
  115.     // TODO: Add extra validation here
  116.     
  117.     CDialog::OnOK();    
  118.     ApplyData();
  119. }
  120.