⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainganttunit.pas

📁 Gantt source file example to use in delphi 7
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit MainGanttUnit;

interface

uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, GanttUnit, DateUtils, StdCtrls, Spin, ComCtrls, ToolWin, ImgList,
   ExtCtrls, ProjectDetailsUnit, ExtDlgs, DB, ADODB;

type
   TGanttForm = class(TForm)
    GanttChart1: TGanttChart;
      StatusBar1: TStatusBar;
      CoolBar1: TCoolBar;
      ToolBar1: TToolBar;
      ToolButton1: TToolButton;
      ToolButton2: TToolButton;
      ToolButton3: TToolButton;
      ToolButton4: TToolButton;
      ToolButton5: TToolButton;
      ToolButton6: TToolButton;
      ImageList1: TImageList;
      SaveDialog: TSaveDialog;
      OpenDialog: TOpenDialog;
      ToolButton13: TToolButton;
      ToolButton14: TToolButton;
      ToolButton15: TToolButton;
      ToolButton16: TToolButton;
      ToolButton17: TToolButton;
      ToolButton18: TToolButton;
      ToolButton19: TToolButton;
      ToolButton20: TToolButton;
      ProjectColorBox: TColorBox;
      ToolButton10: TToolButton;
      ToolButton22: TToolButton;
      ToolButton23: TToolButton;
      ToolButton24: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton21: TToolButton;
    ToolButton25: TToolButton;
    ToolButton26: TToolButton;
    ToolButton27: TToolButton;
    SavePictureDialog1: TSavePictureDialog;
    ToolButton28: TToolButton;
    ToolButton29: TToolButton;
    ToolButton30: TToolButton;
    ToolButton31: TToolButton;
    ToolButton32: TToolButton;
    ToolButton33: TToolButton;
    ToolButton34: TToolButton;
    ToolButton35: TToolButton;
    ToolButton36: TToolButton;
    ToolButton37: TToolButton;
    ToolButton38: TToolButton;
    ADOConnection: TADOConnection;
    SettingsADOQuery: TADOQuery;
    ItemsADOQuery: TADOQuery;
    SettingsADOQueryID: TAutoIncField;
    SettingsADOQueryGantt_Title: TWideStringField;
    SettingsADOQueryStart_Month: TIntegerField;
    SettingsADOQueryNumber_of_Months: TIntegerField;
    SettingsADOQueryProject_Title_Colour: TWideStringField;
    SettingsADOQueryProject_Height: TIntegerField;
    SettingsADOQueryDay_Width: TIntegerField;
    SettingsADOQueryShadow_Colour: TWideStringField;
    SettingsADOQueryGantt_Version: TWideStringField;
    ItemsADOQueryGantt_Project_Name: TWideStringField;
    ItemsADOQueryGantt_Project_Resource1: TWideStringField;
    ItemsADOQueryGantt_Project_Resource2: TWideStringField;
    ItemsADOQueryID: TAutoIncField;
    ItemsADOQueryProjectID: TIntegerField;
    ItemsADOQueryItem_Name: TWideStringField;
    ItemsADOQueryItem_Type: TWideStringField;
    ItemsADOQueryItem_Status: TWideStringField;
    ItemsADOQueryItem_Percent_Completed: TIntegerField;
    ItemsADOQueryItem_Colour: TWideStringField;
    ItemsADOQueryItem_Start_Date: TWideStringField;
    ItemsADOQueryItem_Days: TIntegerField;
    ItemsADOQueryItem_Brush_Colour: TWideStringField;
    ItemsADOQueryItem_Brush_Style: TWideStringField;
    ItemsADOQueryItem_Pen_Colour: TWideStringField;
    ItemsADOQueryItem_Pen_Size: TWideStringField;
    ItemsADOQueryLink_Project_ID: TIntegerField;
    ItemsADOQueryLink_Item_ID: TIntegerField;
    ItemsADOQueryLink_Type: TWideStringField;
    Button1: TButton;
    ToolButton39: TToolButton;
    OpenDBDialog: TOpenDialog;
    ItemsADOQueryItem_End_Date: TWideStringField;
      procedure FormCreate(Sender: TObject);
      procedure ToolButton1Click(Sender: TObject);
      procedure ToolButton3Click(Sender: TObject);
      procedure ToolButton17Click(Sender: TObject);
      procedure ToolButton18Click(Sender: TObject);
      procedure ToolButton5Click(Sender: TObject);
      procedure ToolButton6Click(Sender: TObject);
      procedure GanttChart1SelectItem(ProjectID, ItemID: Integer);
      procedure GanttChart1SelectProject(ProjectID: Integer);
      procedure ToolButton22Click(Sender: TObject);
      procedure ToolButton24Click(Sender: TObject);
      procedure ProjectColorBoxChange(Sender: TObject);
    procedure ToolButton16Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton21Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton26Click(Sender: TObject);
    procedure ToolButton27Click(Sender: TObject);
    procedure ToolButton28Click(Sender: TObject);
    procedure ToolButton30Click(Sender: TObject);
    procedure ToolButton31Click(Sender: TObject);
    procedure ToolButton33Click(Sender: TObject);
    procedure ToolButton34Click(Sender: TObject);
    procedure ToolButton35Click(Sender: TObject);
    procedure GanttChart1DblClickItemEvent(ProjectID, ItemID: Integer);
    procedure ToolButton36Click(Sender: TObject);
    procedure ToolButton37Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
   private
    { Private declarations }
      Project: TGanttProject;
      ProjectItem: TGanttItem;
      SelectedProject, SelectedItem : Integer;
   public
    { Public declarations }
      CurrentStartMonth: Integer;
      GridStart : TDateTime;
   end;

var
   GanttForm: TGanttForm;

implementation

uses ItemDetailsUnit, GanttDetailsUnit,GanttDataBinder5;

{$R *.dfm}

procedure TGanttForm.FormCreate(Sender: TObject);
begin
   SelectedItem := -1;
   CurrentStartMonth :=1;
   GanttChart1.StartMonth := CurrentStartMonth;
   GanttChart1.Repaint;
   ProjectColorBox.Selected := GanttChart1.ProjectTitleColour;
   GanttChart1.TitlesBoxWidth := 180;
end;


procedure TGanttForm.ToolButton1Click(Sender: TObject);
begin
   if opendialog.Execute then
   begin
      GanttChart1.LoadFromXML(opendialog.FileName);
   end;
   SelectedItem := -1;
end;

procedure TGanttForm.ToolButton3Click(Sender: TObject);
begin
   if savedialog.Execute then
      GanttChart1.SavetoXML(savedialog.FileName);
end;

procedure TGanttForm.ToolButton17Click(Sender: TObject);
begin
   GridStart := GanttChart1.GridStartDate;
   GridStart := incMonth(GridStart);
   GanttChart1.GridStartDate := GridStart;
   GanttChart1.Repaint;
end;

procedure TGanttForm.ToolButton18Click(Sender: TObject);
begin
   GridStart := GanttChart1.GridStartDate;
   GridStart := incMonth(GridStart,-1);
   GanttChart1.GridStartDate := GridStart;
   GanttChart1.Repaint;
end;

procedure TGanttForm.ToolButton5Click(Sender: TObject);
begin
   GanttChart1.PrintChart;
end;

procedure TGanttForm.ToolButton6Click(Sender: TObject);
begin
   GanttChart1.StartLinking := Toolbutton6.down;
end;

procedure TGanttForm.GanttChart1SelectItem(ProjectID, ItemID: Integer);
begin
   SelectedItem := -1;
   SelectedProject := ProjectID;
   SelectedItem := ItemID;
   StatusBar1.SimpleText := 'Project : ' + inttostr(SelectedProject) + '  Item : ' + inttostr(ItemID);
end;

procedure TGanttForm.GanttChart1SelectProject(ProjectID: Integer);
begin
   SelectedProject := ProjectID;
   SelectedItem := -1;
   StatusBar1.SimpleText := 'Project : ' + inttostr(SelectedProject);
end;

procedure TGanttForm.ToolButton22Click(Sender: TObject);
begin
   Project := TGanttProject.Create(nil);
   if EditProjectForm.EditDetails(Project) = True then
      GanttChart1.AddNewProject(Project)
   else
      Project.Free;
end;



procedure TGanttForm.ToolButton24Click(Sender: TObject);
begin
   if SelectedProject > -1 then
   begin
      Project := GanttChart1.GetProject(SelectedProject);
      ProjectItem := TGanttItem.Create(nil);
      ProjectItem.StartDate := now;
      ProjectItem.Days := 5;
      ProjectItem.ItemName := 'New Item';
      ProjectItem.ItemBrush.Color := clSilver;
      ProjectItem.ItemBrush.Style := bsSolid;
      ProjectItem.ItemType := dsBlock;
      if ItemDetailsForm.EditDetails(ProjectItem) = True then
         Project.AddGanttItem(ProjectItem)
      else
         ProjectItem.Free;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -