home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c016 / 3.ddi / SSSRC.PAK / SSBC.CPP
Encoding:
C/C++ Source or Header  |  1993-11-17  |  7.3 KB  |  263 lines

  1.  
  2. #ifdef _MSC_VER
  3. #include "stdafx.h"
  4. #endif
  5.  
  6. #include <ssbc.h>
  7.  
  8. #ifndef _MSC_VER
  9. void CSpreadSheet::ProcessEvent(const VBXEVENT *ptrEvent)
  10. {
  11.     if(ptrEvent->Control != Ctrl)
  12.         return;
  13.  
  14.     CallEvent(ptrEvent->EventIndex, ptrEvent->ParamList);
  15. }
  16. #else
  17. void CSpreadSheet::ProcessEvent(int EventID, const CVBControl *ptr, LPVOID data)
  18. {
  19. char far *s;
  20.  
  21.     s = (char far *)ptr->GetVBXClass();
  22.     if(_fstricmp(s,"SpreadSheet"))
  23.         {
  24.         MessageBeep(0);
  25.         return;
  26.         }
  27.  
  28.     CallEvent(EventID, data);
  29. }
  30. #endif
  31.  
  32. void CSpreadSheet::CallEvent(int EventID, LPVOID data)
  33. {
  34.     switch(EventID)
  35.     {
  36.         {
  37.         case Event_Advance: //IEVENT_SPREAD_ADVANCE,
  38.         int AdvanceNext;                 
  39.             
  40.             AdvanceNext = AFX_NUM_EVENTPARAMINDEX(int, data, 0);
  41.             Advance(AdvanceNext);
  42.             break;  
  43.         }
  44.             
  45.         case Event_BlockSelected: //IEVENT_SPREAD_BLOCKSELECTED,               
  46.         {
  47.         long BlockCol, BlockCol2, BlockRow, BlockRow2;
  48.         
  49.             BlockCol = AFX_NUM_EVENTPARAMINDEX(long, data, 3);
  50.             BlockRow = AFX_NUM_EVENTPARAMINDEX(long, data, 2);
  51.             BlockCol2 = AFX_NUM_EVENTPARAMINDEX(long, data, 1);
  52.             BlockRow2 = AFX_NUM_EVENTPARAMINDEX(long, data, 0);
  53.             BlockSelected(BlockCol, BlockRow, BlockCol2, BlockRow2);
  54.             break;                                       
  55.         }
  56.             
  57.         case Event_Change: //IEVENT_SPREAD_CHANGE,       
  58.         {
  59.         long Row, Col;
  60.         
  61.             Col = AFX_NUM_EVENTPARAMINDEX (long, data, 1);
  62.             Row = AFX_NUM_EVENTPARAMINDEX (long, data, 0);
  63.             Change(Col, Row);
  64.             break;   
  65.         }       
  66.         
  67.         case Event_Click: //IEVENT_SPREAD_CLICK,
  68.         {
  69.         long Row, Col;
  70.     
  71.             Col = AFX_NUM_EVENTPARAMINDEX (long, data, 1);
  72.             Row = AFX_NUM_EVENTPARAMINDEX (long, data, 0);
  73.             Click(Col, Row);
  74.             break;
  75.         }
  76.             
  77.         case Event_DblClick: //IEVENT_SPREAD_DBLCLICK,
  78.         {
  79.         long Row, Col;
  80.     
  81.             Col = AFX_NUM_EVENTPARAMINDEX (long, data, 1);
  82.             Row = AFX_NUM_EVENTPARAMINDEX (long, data, 0);
  83.             DblClick(Col, Row);
  84.             break;
  85.         }
  86.         
  87.         case Event_DragDrop: //IEVENT_SPREAD_DRAGDROP,             // Standard
  88.         {
  89.         long Source;
  90.         float x, y;
  91.         
  92.             Source = AFX_NUM_EVENTPARAMINDEX (long, data, 2);
  93.             x = AFX_NUM_EVENTPARAMINDEX (float, data, 1);
  94.             y = AFX_NUM_EVENTPARAMINDEX (float, data, 0);
  95.             DragDrop(Source, x, y);
  96.             break;                
  97.         }
  98.         
  99.         case Event_DragOver: //IEVENT_SPREAD_DRAGOVER,             // Standard
  100.         {                                                     
  101.         long Source;
  102.         float x, y;
  103.         int State;
  104.         
  105.             Source = AFX_NUM_EVENTPARAMINDEX (long, data, 3);
  106.             x = AFX_NUM_EVENTPARAMINDEX (float, data, 2);
  107.             y = AFX_NUM_EVENTPARAMINDEX (float, data, 1);
  108.             State = AFX_NUM_EVENTPARAMINDEX (int, data, 0);
  109.             DragOver(Source, x, y, State);
  110.             break;
  111.         }                                     
  112.         
  113.         case Event_EditError: //IEVENT_SPREAD_EDITERROR,
  114.         {
  115.         long Col, Row;
  116.         int EditErr;
  117.         
  118.             Col = AFX_NUM_EVENTPARAMINDEX(long, data, 2);
  119.             Row = AFX_NUM_EVENTPARAMINDEX(long, data, 1);
  120.             EditErr = AFX_NUM_EVENTPARAMINDEX (int, data, 0);
  121.             EditError(Col, Row, EditErr);
  122.             break;                             
  123.         }
  124.         
  125.         case Event_EditMode: //IEVENT_SPREAD_EDITMODE,
  126.         {                                                         
  127.         long Col, Row;
  128.         int Mode; 
  129.         int ChangeMade;
  130.         
  131.             Col = AFX_NUM_EVENTPARAMINDEX(long, data, 3);
  132.             Row = AFX_NUM_EVENTPARAMINDEX(long, data, 2);
  133.             Mode = AFX_NUM_EVENTPARAMINDEX (int, data, 1);
  134.             ChangeMade = AFX_NUM_EVENTPARAMINDEX (int, data, 0);
  135.             EditMode(Col, Row, Mode, ChangeMade);
  136.             break;  
  137.         }
  138.         
  139.         case Event_GotFocus: //IEVENT_SPREAD_GOTFOCUS,             // Standard
  140.         {
  141.             GotFocus();
  142.             break;
  143.         }
  144.         
  145.         case Event_KeyDown: //IEVENT_SPREAD_KEYDOWN,              // Standard
  146.         {                                  
  147.         int KeyCode, Shift;
  148.         
  149.             KeyCode = AFX_NUM_EVENTPARAMINDEX (int, data, 1);
  150.             Shift = AFX_NUM_EVENTPARAMINDEX (int, data, 0);
  151.             KeyDown(KeyCode, Shift);
  152.             break;
  153.         }
  154.         
  155.         case Event_KeyPress: //IEVENT_SPREAD_KEYPRESS,             // Standard
  156.         {            
  157.         int KeyAscii;
  158.         
  159.             KeyAscii = AFX_NUM_EVENTPARAMINDEX (int, data, 0);
  160.             KeyPress(&KeyAscii);                              
  161.             AFX_NUM_EVENTPARAMINDEX (int, data, 0) = KeyAscii;
  162.             break;
  163.         }
  164.             
  165.         case Event_KeyUp: //IEVENT_SPREAD_KEYUP,                // Standard
  166.         {                                                  
  167.         int KeyCode, Shift;
  168.         
  169.             KeyCode = AFX_NUM_EVENTPARAMINDEX (int, data, 1);
  170.             Shift = AFX_NUM_EVENTPARAMINDEX (int, data, 0);
  171.             KeyUp(KeyCode, Shift);
  172.             break;
  173.         }
  174.     
  175.         case Event_LeaveCell: //IEVENT_SPREAD_LEAVECELL,                      
  176.         {              
  177.         long Col, Row, NewCol, NewRow;
  178.         int Cancel;
  179.             Col = AFX_NUM_EVENTPARAMINDEX (long, data, 4);
  180.             Row = AFX_NUM_EVENTPARAMINDEX (long, data, 3);
  181.             NewCol = AFX_NUM_EVENTPARAMINDEX (long, data, 2);
  182.             NewRow = AFX_NUM_EVENTPARAMINDEX (long, data, 1);
  183.             Cancel = AFX_NUM_EVENTPARAMINDEX (int, data, 0);
  184.             LeaveCell(Col, Row, NewCol, NewRow, &Cancel);
  185.             AFX_NUM_EVENTPARAMINDEX (int, data, 0) = Cancel;
  186.             break;
  187.         }
  188.     
  189.         case Event_LostFocus: //IEVENT_SPREAD_LOSTFOCUS,            // Standard
  190.             LostFocus();
  191.             break;
  192.  
  193.         case Event_MouseDown: //IEVENT_SPREAD_MOUSEDOWN,            // Standard
  194.         {
  195.         int Button, Shift;
  196.         float x, y;
  197.         
  198.             Button = AFX_NUM_EVENTPARAMINDEX (float, data, 3);
  199.             Shift = AFX_NUM_EVENTPARAMINDEX (float, data, 2);
  200.             x = AFX_NUM_EVENTPARAMINDEX (int, data, 1);
  201.             y = AFX_NUM_EVENTPARAMINDEX (int, data, 0);
  202.             MouseDown(Button, Shift, x, y);
  203.             break;    
  204.         }
  205.  
  206.         case Event_MouseMove: //IEVENT_SPREAD_MOUSEMOVE,            // Standard
  207.         {
  208.         int Button, Shift;
  209.         float x, y;
  210.         
  211.             Button = AFX_NUM_EVENTPARAMINDEX (float, data, 3);
  212.             Shift = AFX_NUM_EVENTPARAMINDEX (float, data, 2);
  213.             x = AFX_NUM_EVENTPARAMINDEX (int, data, 1);
  214.             y = AFX_NUM_EVENTPARAMINDEX (int, data, 0);
  215.             MouseMove(Button, Shift, x, y);
  216.             break;
  217.         }
  218.     
  219.         case Event_MouseUp: //IEVENT_SPREAD_MOUSEUP,              // Standard
  220.         {
  221.         int Button, Shift;
  222.         float x, y;
  223.         
  224.             Button = AFX_NUM_EVENTPARAMINDEX (float, data, 3);
  225.             Shift = AFX_NUM_EVENTPARAMINDEX (float, data, 2);
  226.             x = AFX_NUM_EVENTPARAMINDEX (int, data, 1);
  227.             y = AFX_NUM_EVENTPARAMINDEX (int, data, 0);
  228.             MouseUp(Button, Shift, x, y);
  229.             break;
  230.         }
  231.                          
  232.         case Event_RightClick: //IEVENT_SPREAD_RIGHTCLICK,                                                     
  233.         {
  234.         int ClickType;
  235.         long Col, Row;
  236.         long x, y;
  237.  
  238.             ClickType = AFX_NUM_EVENTPARAMINDEX (int, data, 4);
  239.             Col = AFX_NUM_EVENTPARAMINDEX (long, data, 3);
  240.             Row = AFX_NUM_EVENTPARAMINDEX (long, data, 2);
  241.             x = AFX_NUM_EVENTPARAMINDEX (float, data, 1);
  242.             y = AFX_NUM_EVENTPARAMINDEX (float, data, 0);
  243.             RightClick(ClickType, Col, Row, x, y);
  244.             break;
  245.         }
  246.  
  247.         case Event_SelChange: //IEVENT_SPREAD_SELCHANGE,                                                                 
  248.         {
  249.         long BlockCol, BlockRow, BlockCol2, BlockRow2, CurCol, CurRow;
  250.         
  251.             BlockCol = AFX_NUM_EVENTPARAMINDEX (long, data, 5);
  252.             BlockRow = AFX_NUM_EVENTPARAMINDEX (long, data, 4);
  253.             BlockCol2 = AFX_NUM_EVENTPARAMINDEX (long, data, 3);
  254.             BlockRow2 = AFX_NUM_EVENTPARAMINDEX (long, data, 2);
  255.             CurCol = AFX_NUM_EVENTPARAMINDEX (long, data, 1);
  256.             CurRow = AFX_NUM_EVENTPARAMINDEX (long, data, 0);
  257.             SelChange(BlockCol, BlockRow, BlockCol2, BlockRow2, CurCol, CurRow);
  258.             break;
  259.         }
  260.         
  261.     }
  262. }
  263.