?? mainunit.pas
字號:
unit MainUnit;
interface
uses
WinTypes, WinProcs, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Buttons, ExtCtrls, StdCtrls, RTDesign, ComCtrls, Grids, ToolWin,
ImgList, ActiveX, SHELLAPI, axctrls, DosCommand, TB2Dock,
TB2Toolbar, TBX, TBXStatusBars, TBXExtItems, TBXLists, TB2Item,
TBXToolPals, TB2ExtItems, TB2ToolWindow, TBXSwitcher, TBXMDI, TBXDkPanels,
TBXOfficeXPTheme, TBXStripesTheme, Utils, CodeSense_TLB, INIfiles, Splash, Options, NewTab, Unit1,
ProjOptions;
type
TMainForm = class(TForm)
PInspector: TPanel;
OpenDialog: TOpenDialog;
SaveFormDialog: TSaveDialog;
RTDesigner1: TRTDesigner;
Splitter2: TSplitter;
Panel2: TPanel;
ComboBox1: TComboBox;
ImageList1: TImageList;
ImageList3: TImageList;
ImageList2: TImageList;
PageControl1: TPageControl;
Standard: TTabSheet;
BNone1: TSpeedButton;
BEdit: TSpeedButton;
BButton: TSpeedButton;
BLabel: TSpeedButton;
BCheckBox: TSpeedButton;
BGroup: TSpeedButton;
BRadio: TSpeedButton;
BComboBox: TSpeedButton;
BListBox: TSpeedButton;
BScrollBar: TSpeedButton;
BImage: TSpeedButton;
Additional: TTabSheet;
BBitBtn: TSpeedButton;
BNone2: TSpeedButton;
BSpeedButton: TSpeedButton;
BPanel: TSpeedButton;
DosCommand1: TDosCommand;
TBXStatusBar1: TTBXStatusBar;
Panel3: TPanel;
Panel4: TPanel;
TBDock1: TTBDock;
TBDock2: TTBDock;
TBXToolbar4: TTBXToolbar;
TBXItem1: TTBXItem;
TBXItem2: TTBXItem;
TBXItem3: TTBXItem;
TBXSeparatorItem1: TTBXSeparatorItem;
TBXItem4: TTBXItem;
TBXSeparatorItem2: TTBXSeparatorItem;
TBXItem5: TTBXItem;
TBXItem6: TTBXItem;
TBXItem7: TTBXItem;
TBXSeparatorItem3: TTBXSeparatorItem;
TBXToolbar5: TTBXToolbar;
Splitter3: TSplitter;
Panel5: TPanel;
TBDock3: TTBDock;
TBXToolWindow2: TTBXToolWindow;
Panel7: TPanel;
TBXSwitcher1: TTBXSwitcher;
TBDock4: TTBDock;
DockablePanel: TTBXDockablePanel;
TBXPageScroller1: TTBXPageScroller;
TBXPageScroller2: TTBXPageScroller;
PageScroller1: TPageScroller;
TreeView2: TTreeView;
TBXToolbar1: TTBXToolbar;
File1: TTBXSubmenuItem;
Edit1: TTBXSubmenuItem;
TBXSubmenuItem5: TTBXSubmenuItem;
TBXItem31: TTBXItem;
TBXItem32: TTBXItem;
TBXSeparatorItem16: TTBXSeparatorItem;
TBXMDIWindowItem1: TTBXMDIWindowItem;
TBXSubmenuItem2: TTBXSubmenuItem;
TBXSubmenuItem3: TTBXSubmenuItem;
TBXSubmenuItem4: TTBXSubmenuItem;
Open: TTBXItem;
SaveAs1: TTBXItem;
Print: TTBXItem;
Close1: TTBXItem;
Exit1: TTBXItem;
Undo1: TTBXItem;
Cut: TTBXItem;
Copy: TTBXItem;
Paste: TTBXItem;
AlignToGrid: TTBXItem;
TBXItem20: TTBXItem;
TBXItem21: TTBXItem;
EditMode1: TTBXItem;
Compile1: TTBXItem;
CompileRun1: TTBXItem;
TBXItem25: TTBXItem;
XPStyleMenus1: TTBXItem;
TBXItem27: TTBXItem;
TBXItem28: TTBXItem;
PageControl2: TPageControl;
TabSheet2: TTabSheet;
TabSheet1: TTabSheet;
TBXSubmenuItem1: TTBXSubmenuItem;
TBXItem8: TTBXItem;
TBXItem9: TTBXItem;
TBXItem10: TTBXItem;
TBXSubmenuItem6: TTBXSubmenuItem;
NormalStyleMenus1: TTBXItem;
StripesStyleMenus1: TTBXItem;
TBXSeparatorItem4: TTBXSeparatorItem;
TBXSeparatorItem5: TTBXSeparatorItem;
TBXSeparatorItem6: TTBXSeparatorItem;
TBXSeparatorItem7: TTBXSeparatorItem;
TBXSeparatorItem8: TTBXSeparatorItem;
TBXSeparatorItem9: TTBXSeparatorItem;
TBXSeparatorItem10: TTBXSeparatorItem;
TBXSeparatorItem11: TTBXSeparatorItem;
TBXSubmenuItem7: TTBXSubmenuItem;
KB1: TTBXItem;
RQ1: TTBXItem;
BPP1: TTBXItem;
TBXItem14: TTBXItem;
TBXItem11: TTBXItem;
TBXItem12: TTBXItem;
TBXSeparatorItem12: TTBXSeparatorItem;
TBXItem13: TTBXItem;
TBXSubmenuItem8: TTBXSubmenuItem;
TBXItem15: TTBXItem;
TBXItem16: TTBXItem;
TBXItem17: TTBXItem;
TBDock5: TTBDock;
TBXToolWindow1: TTBXToolWindow;
TBXMDIHandler1: TTBXMDIHandler;
TBDock6: TTBDock;
TBXToolWindow3: TTBXToolWindow;
TBDock7: TTBDock;
TBDock8: TTBDock;
TBXItem18: TTBXItem;
TBXItem19: TTBXItem;
TBXSubmenuItem9: TTBXSubmenuItem;
PageControl3: TPageControl;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
Properties: TStringGrid;
SaveProjectDialog: TSaveDialog;
SaveBASICDialog: TSaveDialog;
Events: TStringGrid;
Save1: TTBXItem;
OptionsItem: TTBXItem;
LanguageItem: TTBXItem;
TBXItem22: TTBXItem;
TBXItem23: TTBXItem;
TBXItem24: TTBXItem;
TBXItem26: TTBXItem;
mnuCodeEditor: TTBXSubmenuItem;
mnuCommentOut: TTBXItem;
mnuUnComment: TTBXItem;
mnuCallDLL: TTBXItem;
mnuFormDesigner: TTBXSubmenuItem;
RecentFilesMenu: TTBXSubmenuItem;
procedure FormCreate(Sender: TObject);
procedure Open1Click(Sender: TObject);
procedure Save1Click(Sender: TObject);
procedure SaveAs1Click(Sender: TObject);
procedure New1Click(Sender: TObject);
procedure Close1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure Undo1Click(Sender: TObject);
procedure Copy1Click(Sender: TObject);
procedure Paste1Click(Sender: TObject);
procedure Cut1Click(Sender: TObject);
procedure RTDesigner1UndoChange(Sender: TObject);
procedure RTDesigner1InsertQuery(Sender: TObject; Control: TControl;
var aClass: TControlClass);
procedure Aligntogrid1Click(Sender: TObject);
procedure RTDesigner1PopulateDesignerMenu(Sender: TObject;
var Menu: TPopupMenu);
procedure x(Sender: TObject; Control: TControl);
procedure Editmode1Click(Sender: TObject);
procedure TabChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure BeforeSelectControl(Sender: TObject; Control: TControl;
var DoSelect: Boolean);
procedure TabControl1Change(Sender: TObject);
procedure MainFormResize(Sender: TObject);
procedure AfteMove(Sender: TObject);
procedure AfterSized(Sender: TObject);
procedure DeleteQuery(Sender: TObject; var DoDelete: Boolean);
procedure PropertiesExit(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Compile1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure XPStyleMenus1Click(Sender: TObject);
procedure RunCompile1Click(Sender: TObject);
procedure Run2Click(Sender: TObject);
procedure DosCommand1NewLine(Sender: TObject; NewLine: String;
OutputType: TOutputType);
procedure DosCommand1Terminated(Sender: TObject);
procedure PropertiesSetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
procedure TreeView2GetSelectedIndex(Sender: TObject; Node: TTreeNode);
procedure TreeView2Click(Sender: TObject);
procedure TreeView2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure RTDesigner1RemoveControl(Sender: TObject;
aControl: TControl);
procedure TreeView2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure TreeView2DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure RTDesigner1BaseControlClick(Sender: TObject;
var ClearSelection, DrawSelectionFrame: Boolean; Shift: TShiftState;
X, Y: Integer);
procedure TBXItem8Click(Sender: TObject);
procedure TBXItem9Click(Sender: TObject);
procedure TBXItem10Click(Sender: TObject);
procedure TBXItem20Click(Sender: TObject);
procedure TBXItem21Click(Sender: TObject);
procedure TBXItem31Click(Sender: TObject);
procedure TBXItem32Click(Sender: TObject);
procedure KB1Click(Sender: TObject);
procedure RQ1Click(Sender: TObject);
procedure BPP1Click(Sender: TObject);
procedure DockablePanelCloseQuery(Sender: TObject;
var CanClose: Boolean);
procedure TBXItem13Click(Sender: TObject);
procedure TBXItem16Click(Sender: TObject);
procedure TBXItem15Click(Sender: TObject);
procedure TBXItem17Click(Sender: TObject);
procedure TBDock6RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
procedure TBDock5RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
procedure TBDock4RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
procedure TBDock1RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
procedure TBDock2RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
procedure TBDock3RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
procedure TBDock8RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
procedure TBDock7RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
procedure TBXToolWindow3DockChanged(Sender: TObject);
procedure TBXItem18Click(Sender: TObject);
procedure TBXItem19Click(Sender: TObject);
procedure TBXToolWindow1CloseQuery(Sender: TObject;
var CanClose: Boolean);
procedure TBXToolWindow3CloseQuery(Sender: TObject;
var CanClose: Boolean);
procedure WMSysCommand(var Msg: TMessage); message WM_SYSCOMMAND;
procedure TBItem1Click(Sender: TObject);
// procedure TBItem4Click(Sender: TObject);
// procedure TBItem3Click(Sender: TObject);
procedure LanguageItemClick(Sender: TObject);
procedure OptionsItemClick(Sender: TObject);
procedure TBXItem23Click(Sender: TObject);
procedure TBXItem22Click(Sender: TObject);
procedure TBXItem26Click(Sender: TObject);
procedure TBXItem24Click(Sender: TObject);
procedure mnuCommentOutClick(Sender: TObject);
procedure mnuUnCommentClick(Sender: TObject);
procedure LoadProject(FileName: String; Sender:TObject);
//LoadProject loads up a project and takes the project name as a string
procedure LoadRecentProject(Sender: TObject);
//LoadRecentProject does the same as LoadProject, but it takes relys a global var to do the work
private
public
Function GetControlClass : TControlClass;
// end;
end;
const BuildID: String = '27-03-2003-1';
const VersionNum: String = '0.2.6.2';
var
MainForm: TMainForm;
CodeSenseHandle: HWND;
// FileName: String;
// NewFileName: String;
Language : String;
ProjectName : STRING;
BasicFiles : Array[0..255] of STRING;
FormFiles : Array[0..255] of STRING;
LastTabCount: Integer;
RecentNamePublic: String;
LastActiveTab: Integer;
PageCount : Integer; //Form1.Tabs.PageCount-1
Run : Boolean;
Project : Boolean;
OldWindProc: Pointer;
FormCount : Integer;
CloseChildren : Boolean;
CodeViews : array[0..255] of Pointer;
CodeView : Integer;
DefaultPath: String;
ShowSettings: Boolean;
SetTo: String;
implementation
uses MDIChld, about, Unit3, Windows, LangUnit;
//function MakeButton(Handle : Hwnd; Instance : THandle) : HWND; stdcall; external 'test.dll';
{function GetNewWindowProcedure() : Integer stdcall; external 'test.dll';
function GetOldWindowProcedure() : Integer stdcall; external 'test.dll';
procedure SetOldWindowProcedure(OldWndProc : integer) stdcall; external 'test.dll';}
//function NewWindowProcedure(hWnd: HWND; Msg: WORD; wParam: WORD; lParam: LONGINT): LONGINT; stdcall; external 'test.dll';
//function MakeButton(Handle : Hwnd; Instance : THandle) : HWND; stdcall; external 'test.dll';
//function MakeButton(Handle : Hwnd; Instance : THandle) : HWND; stdcall; external 'test.dll';
function NewWindProc(Handle: HWND; Msg: Integer; wParam,
lParam: Longint): Longint; StdCall;
begin
{ If this is the registered message... }
{ if Msg = MessageID then begin }
{ if main form is minimized, normalize it }
{ set focus to application }
ShowMessage('Success');
{ Otherwise, pass message on to old window proc }
{ else}
Result := CallWindowProc(OldWindProc, Handle, Msg, wParam, lParam);
end;
{$R *.DFM}
procedure ChangeLang(SetTo : String);
begin
LanguageINI := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Languages\'+SetTo+'.lng');
//File:
MainForm.File1.Caption := LanguageINI.ReadString('Menu Bar', 'File', 'File');
MainForm.TBXSubmenuItem8.Caption := LanguageINI.ReadString('File', 'New', 'New'); //New menu item
MainForm.Open.Caption := LanguageINI.ReadString('File', 'Open', 'Open');
MainForm.Save1.Caption := LanguageINI.ReadString('File', 'Save', 'Save');
MainForm.SaveAs1.Caption := LanguageINI.ReadString('File', 'Save As', 'Save As...');
MainForm.Print.Caption := LanguageINI.ReadString('File', 'Print', 'Print');
MainForm.Close1.Caption := LanguageINI.ReadString('File', 'Close', 'Close');
MainForm.Exit1.Caption := LanguageINI.ReadString('File', 'Exit', 'Exit');
//Edit:
MainForm.Edit1.Caption := LanguageINI.ReadString('Menu Bar', 'Edit', 'Edit');
MainForm.Undo1.Caption := LanguageINI.ReadString('Edit', 'Undo', 'Undo');
MainForm.Cut.Caption := LanguageINI.ReadString('Edit', 'Cut', 'Cut');
MainForm.Copy.Caption := LanguageINI.ReadString('Edit', 'Copy', 'Copy');
MainForm.Paste.Caption := LanguageINI.ReadString('Edit', 'Paste', 'Paste');
MainForm.AlignToGrid.Caption := LanguageINI.ReadString('Edit', 'Align to grid', 'Align to grid');
MainForm.TBXItem20.Caption := LanguageINI.ReadString('Edit', 'Send to back', 'Send to back'); //Send to back
MainForm.TBXItem21.Caption := LanguageINI.ReadString('Edit', 'Bring to front', 'Bring to Front'); //Bring to front
MainForm.EditMode1.Caption := LanguageINI.ReadString('Edit', 'Edit Mode', 'Edit Mode');
//Search:
MainForm.TBXSubmenuItem1.Caption := LanguageINI.ReadString('Menu Bar', 'Search', 'Search');
MainForm.TBXItem8.Caption := LanguageINI.ReadString('Search', 'Find', 'Find'); //Find item
MainForm.TBXItem9.Caption := LanguageINI.ReadString('Search', 'Find and Replace', 'Find and Replace');
MainForm.TBXItem10.Caption := LanguageINI.ReadString('Search', 'Go to line', 'Go to Line');
//Run:
MainForm.TBXSubmenuItem2.Caption := LanguageINI.ReadString('Menu Bar', 'Run', 'Run');
MainForm.CompileRun1.Caption := LanguageINI.ReadString('Run', 'Compile and Run', 'Compile && Run');
MainForm.Compile1.Caption := LanguageINI.ReadString('Run', 'Compile', 'Compile');
//Project:
MainForm.TBXSubmenuItem3.Caption := LanguageINI.ReadString('Menu Bar', 'Project', 'Project');
MainForm.TBXItem25.Caption := LanguageINI.ReadString('Project', 'Change Icon', 'Change Icon');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -