📄 mainganttunit.pas
字号:
end;
end;
procedure TGanttForm.ProjectColorBoxChange(Sender: TObject);
begin
GanttChart1.ProjectTitleColour := ProjectColorBox.Selected;
end;
procedure TGanttForm.ToolButton16Click(Sender: TObject);
begin
if SelectedItem > -1 then
begin
ProjectItem := GanttChart1.GetProjectItem(SelectedProject,SelectedItem);
ProjectItem.ClearItemLink;
GanttChart1.Repaint;
end;
end;
procedure TGanttForm.ToolButton9Click(Sender: TObject);
begin
if SelectedProject > -1 then
begin
if MessageDlg('Are you sure you want to delete this Project!', mtWarning, [mbYes,mbNo], 0) = mrYes then
begin
GanttChart1.DeleteProject(SelectedProject);
SelectedProject := -1;
end;
end;
end;
procedure TGanttForm.ToolButton11Click(Sender: TObject);
begin
if (SelectedItem > -1) and (SelectedProject > -1) then
begin
if MessageDlg('Are you sure you want to delete this Item!', mtWarning, [mbYes,mbNo], 0) = mrYes then
begin
GanttChart1.DeleteProjectItem(SelectedProject,SelectedItem);
SelectedItem := -1;
end;
end;
end;
procedure TGanttForm.ToolButton21Click(Sender: TObject);
begin
if SelectedProject > -1 then
begin
Project := GanttChart1.GetProject(SelectedProject);
if EditProjectForm.EditDetails(Project) = True then
GanttChart1.Repaint;
end;
end;
procedure TGanttForm.ToolButton12Click(Sender: TObject);
begin
if SelectedItem > -1 then
begin
ProjectItem := GanttChart1.GetProjectItem(SelectedProject,SelectedItem);
if ItemDetailsForm.EditDetails(ProjectItem) = True then
GanttChart1.Repaint;
end;
end;
procedure TGanttForm.ToolButton4Click(Sender: TObject);
begin
GanttChart1.ClearProjects
end;
procedure TGanttForm.ToolButton26Click(Sender: TObject);
begin
if GanttDetailsForm.EditDetails(GanttChart1) = True then
GanttChart1.Repaint;
end;
procedure TGanttForm.ToolButton27Click(Sender: TObject);
begin
if savepicturedialog1.Execute then
GanttChart1.SaveChartToBitmap(savepicturedialog1.FileName);
end;
procedure TGanttForm.ToolButton28Click(Sender: TObject);
begin
GanttChart1.ShowItemLength := Not GanttChart1.ShowItemLength;
GanttChart1.Repaint;
end;
procedure TGanttForm.ToolButton30Click(Sender: TObject);
var
Incr : Integer;
begin
Incr := GanttChart1.DayWidth;
Inc(Incr,4);
if Incr > 100 then Incr := 100;
GanttChart1.DayWidth := Incr;
GanttChart1.Repaint;
end;
procedure TGanttForm.ToolButton31Click(Sender: TObject);
var
Incr : Integer;
begin
Incr := GanttChart1.DayWidth;
Dec(Incr,4);
if Incr <10 then Incr := 10;
GanttChart1.DayWidth := Incr;
GanttChart1.Repaint;
end;
procedure TGanttForm.ToolButton33Click(Sender: TObject);
begin
GanttChart1.ShowGridLines := Not GanttChart1.ShowGridLines;
GanttChart1.Repaint;
end;
procedure TGanttForm.ToolButton34Click(Sender: TObject);
begin
GanttChart1.ShowHeaderWeeks := Not GanttChart1.ShowHeaderWeeks;
GanttChart1.Repaint;
end;
procedure TGanttForm.ToolButton35Click(Sender: TObject);
begin
GanttChart1.ShowHeaderDayNumbers := Not GanttChart1.ShowHeaderDayNumbers;
GanttChart1.Repaint;
end;
procedure TGanttForm.GanttChart1DblClickItemEvent(ProjectID,
ItemID: Integer);
begin
if (SelectedItem > -1) and (SelectedProject > -1) then
begin
ProjectItem := GanttChart1.GetProjectItem(ProjectID,ItemID);
if ItemDetailsForm.EditDetails(ProjectItem) = True then
GanttChart1.Repaint;
end;
end;
procedure TGanttForm.ToolButton36Click(Sender: TObject);
var
Incr : Integer;
begin
Incr := GanttChart1.TopMostProject;
inc(Incr);
GanttChart1.TopMostProject := Incr;
end;
procedure TGanttForm.ToolButton37Click(Sender: TObject);
var
Decr : Integer;
begin
Decr := GanttChart1.TopMostProject;
Dec(Decr);
GanttChart1.TopMostProject := Decr;
end;
procedure TGanttForm.Button1Click(Sender: TObject);
var
DataChart: IXMLRoot_ElementType;
Project : IXMLGantt_ProjectType;
Items : IXMLProject_ItemType;
ConnectStr : String;
begin
if OpenDBDialog.Execute then
begin
// ConnectStr := 'Provider=Microsoft.Jet.OLEDB.4.0;';
// ConnectStr := ConnectStr + OpenDBDialog.FileName + ';';
// ConnectStr := ConnectStr + 'Persist Security Info=False';
// AdoConnection.ConnectionString := ConnectStr;
AdoConnection.Connected := True;
DataChart := NewRoot_Element;
SettingsADOQuery.Active := True;
// add gantt settings information
DataChart.Gantt_Chart.Gantt_Chart_Details.Gantt_Title := SettingsADOQuery.FieldByName('Gantt_Title').AsString;
DataChart.Gantt_Chart.Gantt_Chart_Details.Start_Month := SettingsADOQuery.FieldByName('Start_Month').AsInteger;
DataChart.Gantt_Chart.Gantt_Chart_Details.Number_of_Months := SettingsADOQuery.FieldByName('Number_of_Months').AsInteger;
DataChart.Gantt_Chart.Gantt_Chart_Details.Project_Title_Colour := SettingsADOQuery.FieldByName('Project_Title_Colour').AsString;
DataChart.Gantt_Chart.Gantt_Chart_Details.Project_Height := SettingsADOQuery.FieldByName('Project_Height').AsInteger;
DataChart.Gantt_Chart.Gantt_Chart_Details.Day_Width := SettingsADOQuery.FieldByName('Day_Width').AsInteger;
DataChart.Gantt_Chart.Gantt_Chart_Details.Shadow_Colour := SettingsADOQuery.FieldByName('Shadow_Colour').AsString;
DataChart.Gantt_Chart.Gantt_Chart_Details.Gantt_Version := SettingsADOQuery.FieldByName('Gantt_Version').AsString;
DataChart.Gantt_Chart.Gantt_Chart_Details.Grid_Lines_Colour := '$00F2F2F2';
DataChart.Gantt_Chart.Gantt_Chart_Details.Grid_Weekend_Colour := '$00EFEFEF';
DataChart.Gantt_Chart.Gantt_Chart_Details.Project_Grid_Lines_Colour := '$00F2F2F2';
DataChart.Gantt_Chart.Gantt_Chart_Details.Show_Item_Length := true;
DataChart.Gantt_Chart.Gantt_Chart_Details.Show_Grid_Lines := true;
DataChart.Gantt_Chart.Gantt_Chart_Details.Show_Day_Text := true;
DataChart.Gantt_Chart.Gantt_Chart_Details.Show_Header_Weeks := true;
DataChart.Gantt_Chart.Gantt_Chart_Details.Show_Rounded_Titles := true;
SettingsADOQuery.Active := False;
ItemsADOQuery.Active := True;
Project := DataChart.Gantt_Chart.Gantt_Projects.Add;
Project.Gantt_Project_Name := ItemsADOQuery.fieldbyname('Gantt_Project_Name').AsString;
while not ItemsADOQuery.Eof do
begin
if ItemsADOQuery.fieldbyname('Gantt_Project_Name').AsString <> Project.Gantt_Project_Name then
begin
Project := DataChart.Gantt_Chart.Gantt_Projects.Add;
Project.Gantt_Project_Name := ItemsADOQuery.fieldbyname('Gantt_Project_Name').AsString;
// Project.Gantt_Project_Resource1 := ItemsADOQuery.fieldbyname('Gantt_Project_Resource1').AsString;
// Project.Gantt_Project_Resource2 := ItemsADOQuery.fieldbyname('Gantt_Project_Resource2').AsString;
end;
Items := Project.Gantt_Project_Items.Add;
Items.Item_Name := ItemsADOQuery.fieldbyname('Item_Name').AsString;
Items.Item_Type := ItemsADOQuery.fieldbyname('Item_Type').AsString;
Items.Item_Status := ItemsADOQuery.fieldbyname('Item_Status').AsString;
Items.Item_Percent_Completed := ItemsADOQuery.fieldbyname('Item_Percent_Completed').AsInteger;
Items.Item_Colour := ItemsADOQuery.fieldbyname('Item_Colour').AsString;
Items.Item_Start_Date := ItemsADOQuery.fieldbyname('Item_Start_Date').AsString;
Items.Item_End_Date := ItemsADOQuery.fieldbyname('Item_End_Date').AsString;
Items.Item_Days := ItemsADOQuery.fieldbyname('Item_Days').AsInteger;
Items.Item_Brush.Item_Brush_Colour := ItemsADOQuery.fieldbyname('Item_Brush_Colour').AsString;
Items.Item_Brush.Item_Brush_Style := ItemsADOQuery.fieldbyname('Item_Brush_Style').AsString;
Items.Item_Pen.Item_Pen_Colour := ItemsADOQuery.fieldbyname('Item_Pen_Colour').AsString;
Items.Item_Pen.Item_Pen_Size := ItemsADOQuery.fieldbyname('Item_Pen_Size').AsInteger;
Items.Item_Link.Project_ID := 0;
Items.Item_Link.Item_ID := 0;
Items.Item_Link.Link_Type := 'lsFinishStart';
Items.Item_TextData := '';
ItemsADOQuery.Next;
end;
ItemsADOQuery.Active := False;
AdoConnection.Connected := False;
GanttChart1.DataBindChart(DataChart);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -