📄 mainganttunit.pas
字号:
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 + -