home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / MAIN.CPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  5KB  |  129 lines

  1. //---------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Main.h"
  6. //--------------------------------------------------------------------- 
  7. #pragma resource "*.dfm"
  8. TMainForm *MainForm;
  9. //--------------------------------------------------------------------- 
  10. __fastcall TMainForm::TMainForm(TComponent *Owner)
  11.     : TForm(Owner)
  12. {
  13. }
  14. //--------------------------------------------------------------------- 
  15. void __fastcall TMainForm::FormCreate(TObject *Sender)
  16. {
  17.     Application->OnHint = ShowHint;
  18.     Screen->OnActiveFormChange = UpdateMenuItems;
  19. }
  20. //--------------------------------------------------------------------- 
  21. void __fastcall TMainForm::ShowHint(TObject *Sender)
  22. {
  23.     StatusBar->SimpleText = Application->Hint;
  24. }
  25. //--------------------------------------------------------------------- 
  26. void __fastcall TMainForm::CreateMDIChild(String Name)
  27. {
  28.     TMDIChild *Child;
  29.  
  30.     //--- create a new MDI child window ----
  31.     Child = new TMDIChild(Application);
  32.     Child->Caption = Name;
  33. }
  34. //--------------------------------------------------------------------- 
  35. void __fastcall TMainForm::FileNewItemClick(TObject *Sender)
  36. {
  37.     CreateMDIChild("NONAME" + IntToStr(MDIChildCount + 1));
  38. }
  39. //--------------------------------------------------------------------- 
  40. void __fastcall TMainForm::FileOpenItemClick(TObject *Sender)
  41. {
  42.     if (OpenDialog->Execute())
  43.         CreateMDIChild(OpenDialog->FileName);
  44. }
  45. //--------------------------------------------------------------------- 
  46. void __fastcall TMainForm::FileCloseItemClick(TObject *Sender)
  47. {
  48.     if (ActiveMDIChild)
  49.         ActiveMDIChild->Close();
  50. }
  51. //--------------------------------------------------------------------- 
  52. void __fastcall TMainForm::FileSaveItemClick(TObject *Sender)
  53. {
  54.     //---- save current file (ActiveMDIChild points to the window) ----
  55. }
  56. //--------------------------------------------------------------------- 
  57. void __fastcall TMainForm::FileSaveAsItemClick(TObject *Sender)
  58. {
  59.     //---- save current file under new name ----
  60. }
  61. //--------------------------------------------------------------------- 
  62. void __fastcall TMainForm::FileExitItemClick(TObject *Sender)
  63. {
  64.     Close();
  65. }
  66. //--------------------------------------------------------------------- 
  67. void __fastcall TMainForm::CutItemClick(TObject *Sender)
  68. {
  69.     //---- cut selection to clipboard ----
  70. }
  71. //--------------------------------------------------------------------- 
  72. void __fastcall TMainForm::CopyItemClick(TObject *Sender)
  73. {
  74.     //---- copy selection to clipboard ----
  75. }
  76. //--------------------------------------------------------------------- 
  77. void __fastcall TMainForm::PasteItemClick(TObject *Sender)
  78. {
  79.     //---- paste from clipboard ----
  80. }
  81. //--------------------------------------------------------------------- 
  82. void __fastcall TMainForm::WindowCascadeItemClick(TObject *Sender)
  83. {
  84.     Cascade();
  85. }
  86. //--------------------------------------------------------------------- 
  87. void __fastcall TMainForm::WindowTileItemClick(TObject *Sender)
  88. {
  89.     Tile();
  90. }
  91. //--------------------------------------------------------------------- 
  92. void __fastcall TMainForm::WindowArrangeItemClick(TObject *Sender)
  93. {
  94.     ArrangeIcons();
  95. }
  96. //--------------------------------------------------------------------- 
  97. void __fastcall TMainForm::WindowMinimizeItemClick(TObject *Sender)
  98. {
  99.     int i;
  100.  
  101.     //---- Must be done backwards through the MDIChildren array ----
  102.     for (i=MDIChildCount-1; i >= 0; i--)
  103.         MDIChildren[i]->WindowState = wsMinimized;
  104. }
  105. //--------------------------------------------------------------------- 
  106. void __fastcall TMainForm::UpdateMenuItems(TObject *Sender)
  107. {
  108.     FileCloseItem->Enabled = MDIChildCount > 0;
  109.     FileSaveItem->Enabled = MDIChildCount > 0;
  110.     FileSaveAsItem->Enabled = MDIChildCount > 0;
  111.     CutItem->Enabled = MDIChildCount > 0;
  112.     CopyItem->Enabled = MDIChildCount > 0;
  113.     PasteItem->Enabled = MDIChildCount > 0;
  114.     SaveBtn->Enabled = MDIChildCount > 0;
  115.     CutBtn->Enabled = MDIChildCount > 0;
  116.     CopyBtn->Enabled = MDIChildCount > 0;
  117.     PasteBtn->Enabled = MDIChildCount > 0;
  118.     WindowCascadeItem->Enabled = MDIChildCount > 0;
  119.     WindowTileItem->Enabled = MDIChildCount > 0;
  120.     WindowArrangeItem->Enabled = MDIChildCount > 0;
  121.     WindowMinimizeItem->Enabled = MDIChildCount > 0;
  122. }
  123. //--------------------------------------------------------------------- 
  124. void __fastcall TMainForm::FormDestroy(TObject *Sender)
  125. {
  126.     Screen->OnActiveFormChange = NULL;
  127. }
  128. //--------------------------------------------------------------------- 
  129.