📄 main.pas
字号:
{------------------------------------------------------------------------------}
{ }
{ TSimpleGraph Demonstration Program }
{ by Kambiz R. Khojasteh }
{ }
{ kambiz@delphiarea.com }
{ http://www.delphiarea.com }
{ }
{------------------------------------------------------------------------------}
{$I DELPHIAREA.INC}
unit Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
SimpleGraph {$IFDEF COMPILER7_UP}, XPMan {$ENDIF}, Dialogs, ExtDlgs,
Menus, ActnList, ImgList, StdCtrls, ComCtrls, ToolWin, JPEG, Buttons;
type
TMainForm = class(TForm)
SimpleGraph: TSimpleGraph;
ToolBar: TToolBar;
StatusBar: TStatusBar;
ImageList: TImageList;
ActionList: TActionList;
FileNew: TAction;
FileOpen: TAction;
FileSave: TAction;
MainMenu: TMainMenu;
File1: TMenuItem;
New1: TMenuItem;
Open1: TMenuItem;
Save1: TMenuItem;
FileExit: TAction;
N1: TMenuItem;
Exit1: TMenuItem;
OpenDialog: TOpenDialog;
SaveDialog: TSaveDialog;
EditCut: TAction;
EditCopy: TAction;
EditPaste: TAction;
EditDelete: TAction;
EditSelectAll: TAction;
EditLockNodes: TAction;
Edit1: TMenuItem;
EditCut1: TMenuItem;
Copy1: TMenuItem;
Paste1: TMenuItem;
Delete1: TMenuItem;
N2: TMenuItem;
SelectAll1: TMenuItem;
N3: TMenuItem;
LockNodes1: TMenuItem;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ObjectsNone: TAction;
ObjectsRectangle: TAction;
ObjectsRoundRect: TAction;
ObjectsEllipse: TAction;
ObjectsLink: TAction;
Opjects1: TMenuItem;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
EditBringToFront: TAction;
EditSendToBack: TAction;
N6: TMenuItem;
BringToFront1: TMenuItem;
SendToBack1: TMenuItem;
EditProperties: TAction;
N7: TMenuItem;
Properties1: TMenuItem;
DesignerPopup: TPopupMenu;
ObjectsPopup: TPopupMenu;
Properties2: TMenuItem;
Cut1: TMenuItem;
Copy2: TMenuItem;
Paste2: TMenuItem;
Delete2: TMenuItem;
N8: TMenuItem;
Properties3: TMenuItem;
N10: TMenuItem;
N12: TMenuItem;
SelectAllNodes1: TMenuItem;
Paste5: TMenuItem;
EditMode1: TMenuItem;
N4: TMenuItem;
InsertRectangle1: TMenuItem;
InsertRoundRectangle1: TMenuItem;
InsertEllipse1: TMenuItem;
N5: TMenuItem;
LinkObjects1: TMenuItem;
N9: TMenuItem;
InsertRectangle2: TMenuItem;
InsertRoundRectangle2: TMenuItem;
InsertEllipse2: TMenuItem;
N14: TMenuItem;
LinkObjects2: TMenuItem;
N15: TMenuItem;
BringToFront2: TMenuItem;
SendToBack2: TMenuItem;
FilePrint: TAction;
N16: TMenuItem;
Print1: TMenuItem;
PrinterSetupDialog: TPrinterSetupDialog;
ToolButton19: TToolButton;
ToolButton20: TToolButton;
ToolButton21: TToolButton;
ToolButton22: TToolButton;
btnSaveAs: TToolButton;
FileSaveAs: TAction;
FileSaveAs1: TMenuItem;
HelpAbout: TAction;
Help1: TMenuItem;
About2: TMenuItem;
FormatToolBar: TToolBar;
cbxFontName: TComboBox;
cbxFontSize: TComboBox;
btnBoldface: TToolButton;
btnItalic: TToolButton;
btnUnderline: TToolButton;
FormatBold: TAction;
FormatItalic: TAction;
FormatUnderline: TAction;
FormatAlignLeft: TAction;
FormatCenter: TAction;
FormatAlignRight: TAction;
ToolButton27: TToolButton;
ToolButton28: TToolButton;
ToolButton29: TToolButton;
ExportMetafile: TAction;
SavePictureDialog: TSavePictureDialog;
ToolButton30: TToolButton;
ToolButton17: TToolButton;
ToolButton25: TToolButton;
ViewZoomIn: TAction;
ViewZoomOut: TAction;
ToolButton32: TToolButton;
ObjectsTriangle: TAction;
ToolButton33: TToolButton;
ObjectsRhomboid: TAction;
ToolButton34: TToolButton;
ObjectsPentagon: TAction;
ToolButton35: TToolButton;
FormatAlignTop: TAction;
FormatVCenter: TAction;
FormatAlignBottom: TAction;
ToolButton36: TToolButton;
ToolButton37: TToolButton;
ToolButton38: TToolButton;
ToolButton39: TToolButton;
ToolButton40: TToolButton;
ViewGrid: TAction;
ToolButton42: TToolButton;
ToolButton44: TToolButton;
ToolButton45: TToolButton;
ToolButton46: TToolButton;
ToolButton47: TToolButton;
ToolButton48: TToolButton;
InsertTriangle1: TMenuItem;
InsertRhomboid1: TMenuItem;
InsertPentagon1: TMenuItem;
EditLockLinks: TAction;
EditLockLinks1: TMenuItem;
InsertTriangle2: TMenuItem;
InsertRhomboid2: TMenuItem;
InsertPentagon2: TMenuItem;
View1: TMenuItem;
ShowGrid1: TMenuItem;
N11: TMenuItem;
ZoomIn1: TMenuItem;
ZoomOut1: TMenuItem;
ViewActualSize: TAction;
ActualSize1: TMenuItem;
ToolButton11: TToolButton;
LinkRemovePoint: TAction;
LinkAddPoint: TAction;
LinkGrow: TAction;
LinkShrink: TAction;
LinkRotateCW: TAction;
LinkRotateCCW: TAction;
N13: TMenuItem;
LinkReverse: TAction;
AddPoint1: TMenuItem;
RemovePoint1: TMenuItem;
N17: TMenuItem;
LinkGrow1: TMenuItem;
Shrink1: TMenuItem;
RotateClockwise1: TMenuItem;
RotateCounterClockwise1: TMenuItem;
ReverseDirection1: TMenuItem;
HelpUsage: TAction;
UsingKeyboardandMouse1: TMenuItem;
N18: TMenuItem;
EditInvertSelection: TAction;
InvertSelection1: TMenuItem;
OptionsConfirmHookLink: TAction;
ToolButton23: TToolButton;
ToolButton24: TToolButton;
ToolButton41: TToolButton;
ToolButton49: TToolButton;
ObjectsHexagon: TAction;
InsertHexagon1: TMenuItem;
InsertHexagon2: TMenuItem;
EditMakeAllSelectable: TAction;
MakeAllSelectable1: TMenuItem;
OptionsConfirmDeletion: TAction;
N19: TMenuItem;
Prefernces1: TMenuItem;
ConfirmDeletion1: TMenuItem;
ConfirmHookingLinking1: TMenuItem;
ViewWholeGraph: TAction;
FullGraph1: TMenuItem;
ExportBitmap: TAction;
Export1: TMenuItem;
AsMetafile1: TMenuItem;
AsBitmap1: TMenuItem;
FileMerge: TAction;
Merge1: TMenuItem;
ViewPan: TAction;
ToolButton18: TToolButton;
N20: TMenuItem;
PanMode1: TMenuItem;
ClipboardNative: TAction;
ClipboardBitmap: TAction;
ClipboardMetafile: TAction;
ClipboardFormats1: TMenuItem;
Native1: TMenuItem;
Bitmap1: TMenuItem;
Metafile1: TMenuItem;
EditAlign: TAction;
ViewFixScrolls: TAction;
FixScrollBars1: TMenuItem;
Align1: TMenuItem;
Align2: TMenuItem;
BackgroundLabel: TLabel;
ViewTransparent: TAction;
ransparent1: TMenuItem;
ToolButton26: TToolButton;
EditSize: TAction;
Size1: TMenuItem;
Size2: TMenuItem;
ToolButton31: TToolButton;
procedure FileNewExecute(Sender: TObject);
procedure FileOpenExecute(Sender: TObject);
procedure FileSaveExecute(Sender: TObject);
procedure FileSaveAsExecute(Sender: TObject);
procedure ExportMetafileExecute(Sender: TObject);
procedure FilePrintExecute(Sender: TObject);
procedure FileExitExecute(Sender: TObject);
procedure EditCutExecute(Sender: TObject);
procedure EditCopyExecute(Sender: TObject);
procedure EditPasteExecute(Sender: TObject);
procedure EditDeleteExecute(Sender: TObject);
procedure EditSelectAllExecute(Sender: TObject);
procedure EditSendToBackExecute(Sender: TObject);
procedure EditBringToFrontExecute(Sender: TObject);
procedure EditLockNodesExecute(Sender: TObject);
procedure EditPropertiesExecute(Sender: TObject);
procedure FormatBoldExecute(Sender: TObject);
procedure FormatItalicExecute(Sender: TObject);
procedure FormatUnderlineExecute(Sender: TObject);
procedure FormatAlignLeftExecute(Sender: TObject);
procedure FormatCenterExecute(Sender: TObject);
procedure FormatAlignRightExecute(Sender: TObject);
procedure HelpAboutExecute(Sender: TObject);
procedure ObjectsNoneExecute(Sender: TObject);
procedure ObjectsRectangleExecute(Sender: TObject);
procedure ObjectsRoundRectExecute(Sender: TObject);
procedure ObjectsEllipseExecute(Sender: TObject);
procedure ObjectsTriangleExecute(Sender: TObject);
procedure ObjectsLinkExecute(Sender: TObject);
procedure ObjectsRhomboidExecute(Sender: TObject);
procedure ObjectsPentagonExecute(Sender: TObject);
procedure ObjectsHexagonExecute(Sender: TObject);
procedure ViewZoomInExecute(Sender: TObject);
procedure ViewZoomOutExecute(Sender: TObject);
procedure FormCloseQuery(Sender: TObject;var CanClose: Boolean);
procedure cbxFontSizeChange(Sender: TObject);
procedure cbxFontNameChange(Sender: TObject);
procedure SimpleGraphDblClick(Sender: TObject);
procedure SimpleGraphNodeDblClick(Graph: TSimpleGraph;
Node: TGraphNode);
procedure SimpleGraphLinkDblClick(Graph: TSimpleGraph;
Link: TGraphLink);
procedure FormCreate(Sender: TObject);
procedure SimpleGraphCommandModeChange(Sender: TObject);
procedure SimpleGraphObjectSelect(Graph: TSimpleGraph;
GraphObject: TGraphObject);
procedure SimpleGraphObjectDblClick(Graph: TSimpleGraph;
GraphObject: TGraphObject);
procedure FormatAlignTopExecute(Sender: TObject);
procedure FormatVCenterExecute(Sender: TObject);
procedure FormatAlignBottomExecute(Sender: TObject);
procedure ViewGridExecute(Sender: TObject);
procedure SimpleGraphInfoTip(Graph: TSimpleGraph;
GraphObject: TGraphObject; var InfoTip: String);
procedure EditLockLinksExecute(Sender: TObject);
procedure ViewActualSizeExecute(Sender: TObject);
procedure LinkRemovePointExecute(Sender: TObject);
procedure LinkAddPointExecute(Sender: TObject);
procedure LinkGrowExecute(Sender: TObject);
procedure LinkShrinkExecute(Sender: TObject);
procedure LinkRotateCWExecute(Sender: TObject);
procedure LinkRotateCCWExecute(Sender: TObject);
procedure LinkReverseExecute(Sender: TObject);
procedure ObjectsPopupPopup(Sender: TObject);
procedure HelpUsageExecute(Sender: TObject);
procedure EditInvertSelectionExecute(Sender: TObject);
procedure SimpleGraphCanHookLink(Graph: TSimpleGraph;
GraphObject: TGraphObject; Link: TGraphLink; Index: Integer;
var CanHook: Boolean);
procedure SimpleGraphCanLinkObjects(Graph: TSimpleGraph;
Link: TGraphLink; Source, Target: TGraphObject;
var CanLink: Boolean);
procedure OptionsConfirmHookLinkExecute(Sender: TObject);
procedure OptionsConfirmDeletionExecute(Sender: TObject);
procedure EditMakeAllSelectableExecute(Sender: TObject);
procedure SimpleGraphCanRemoveObject(Graph: TSimpleGraph;
GraphObject: TGraphObject; var CanRemove: Boolean);
procedure ViewWholeGraphExecute(Sender: TObject);
procedure SimpleGraphObjectChange(Graph: TSimpleGraph;
GraphObject: TGraphObject);
procedure ExportBitmapExecute(Sender: TObject);
procedure SimpleGraphObjectInitInstance(Graph: TSimpleGraph;
GraphObject: TGraphObject);
procedure SimpleGraphMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FileMergeExecute(Sender: TObject);
procedure SimpleGraphMouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
procedure SimpleGraphMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure SimpleGraphObjectAfterDraw(Graph: TSimpleGraph;
GraphObject: TGraphObject; Canvas: TCanvas);
procedure ViewPanExecute(Sender: TObject);
procedure SimpleGraphNodeMoveResize(Graph: TSimpleGraph;
Node: TGraphNode);
procedure ClipboardNativeExecute(Sender: TObject);
procedure ClipboardBitmapExecute(Sender: TObject);
procedure ClipboardMetafileExecute(Sender: TObject);
procedure ViewFixScrollsExecute(Sender: TObject);
procedure EditAlignExecute(Sender: TObject);
procedure ClipboardBitmapUpdate(Sender: TObject);
procedure ClipboardMetafileUpdate(Sender: TObject);
procedure ClipboardNativeUpdate(Sender: TObject);
procedure EditAlignUpdate(Sender: TObject);
procedure EditBringToFrontUpdate(Sender: TObject);
procedure EditCopyUpdate(Sender: TObject);
procedure EditCutUpdate(Sender: TObject);
procedure EditDeleteUpdate(Sender: TObject);
procedure EditInvertSelectionUpdate(Sender: TObject);
procedure EditLockLinksUpdate(Sender: TObject);
procedure EditLockNodesUpdate(Sender: TObject);
procedure EditMakeAllSelectableUpdate(Sender: TObject);
procedure EditPasteUpdate(Sender: TObject);
procedure EditSelectAllUpdate(Sender: TObject);
procedure EditSendToBackUpdate(Sender: TObject);
procedure ExportBitmapUpdate(Sender: TObject);
procedure ExportMetafileUpdate(Sender: TObject);
procedure FileMergeUpdate(Sender: TObject);
procedure FilePrintUpdate(Sender: TObject);
procedure FileSaveAsUpdate(Sender: TObject);
procedure FileSaveUpdate(Sender: TObject);
procedure ObjectsEllipseUpdate(Sender: TObject);
procedure ObjectsHexagonUpdate(Sender: TObject);
procedure ObjectsLinkUpdate(Sender: TObject);
procedure ObjectsNoneUpdate(Sender: TObject);
procedure ObjectsPentagonUpdate(Sender: TObject);
procedure ObjectsRectangleUpdate(Sender: TObject);
procedure ObjectsRhomboidUpdate(Sender: TObject);
procedure ObjectsRoundRectUpdate(Sender: TObject);
procedure ObjectsTriangleUpdate(Sender: TObject);
procedure ViewActualSizeUpdate(Sender: TObject);
procedure ViewFixScrollsUpdate(Sender: TObject);
procedure ViewGridUpdate(Sender: TObject);
procedure ViewPanUpdate(Sender: TObject);
procedure ViewWholeGraphUpdate(Sender: TObject);
procedure ViewZoomInUpdate(Sender: TObject);
procedure ViewZoomOutUpdate(Sender: TObject);
procedure SimpleGraphZoomChange(Sender: TObject);
procedure SimpleGraphGraphChange(Sender: TObject);
procedure ViewTransparentUpdate(Sender: TObject);
procedure ViewTransparentExecute(Sender: TObject);
procedure EditSizeUpdate(Sender: TObject);
procedure EditSizeExecute(Sender: TObject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -