📄 mainunit.pas
字号:
MainForm.Cascade;
end;
procedure TMainForm.TBXItem32Click(Sender: TObject);
begin
MainForm.Tile;
end;
procedure TMainForm.KB1Click(Sender: TObject);
var
CurrentlyAt : Integer;
begin
KB1.Checked := True;
RQ1.Checked := False;
BPP1.Checked := False;
Language := 'KoolBASIC';
For CurrentlyAt := 0 to Form1.Tabs.PageCount-1 do
begin
Unit1.CodeSense[CurrentlyAt].Language := 'KoolBASIC';
end;
end;
procedure TMainForm.RQ1Click(Sender: TObject);
var
CurrentlyAt : Integer;
begin
KB1.Checked := False;
RQ1.Checked := True;
BPP1.Checked := False;
Language := 'Rapid-Q';
Showmessage(Language);
For CurrentlyAt := 0 to Form1.Tabs.PageCount-1 do
begin
Unit1.CodeSense[CurrentlyAt].Language := 'Rapid-Q';
end;
end;
procedure TMainForm.BPP1Click(Sender: TObject);
var
CurrentlyAt : Integer;
begin
KB1.Checked := False;
RQ1.Checked := False;
BPP1.Checked := True;
// Form1.CodeSense1.Language := 'BPP';
Language := 'BPP';
For CurrentlyAt := 0 to Form1.Tabs.PageCount-1 do
begin
Unit1.CodeSense[CurrentlyAt].Language := 'BPP';
end;
end;
procedure TMainForm.DockablePanelCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose := False;
DockablePanel.Hide;
TBXItem13.Checked := False;
end;
procedure TMainForm.TBXItem13Click(Sender: TObject);
begin
if (DockablePanel.Visible = True) Then
Begin
DockablePanel.Hide;
TBXItem13.Checked := False;
End
Else
Begin
DockablePanel.Show;
TBXItem13.Checked := True;
End;
end;
procedure TMainForm.TBXItem16Click(Sender: TObject);
var
CurrentlyAt : Integer;
aChild : TMDIChild;
begin
// Application.CreateForm(TForm2, Form2);
// Form2.Left := (Screen.Width - Form2.Width) div 2;
// Form2.Top := (Screen.Height - Form2.Height) div 2;
//Form2.ShowModal;
// Form2.Close;
MainForm.Close1Click(Sender); //close down the current project
// ShowWindow(Form1.Handle, SW_SHOW);
aChild := TMDIChild.Create(Application);
MainForm.RTDesigner1.BaseControl:=aChild;
aChild.FileName:='';
MainForm.Save1.Enabled := True;
MainForm.SaveAs1.Enabled := True;
With MainForm Do Begin
Compile1.Enabled := True;
CompileRun1.Enabled := True;
TreeView2.Items.Clear;
TreeView2.Items.Add(TreeView2.TopItem, 'BASIC Project');
TreeView2.Select(TreeView2.Items.ADdChildObjectFirst(TreeView2.Items.AddChild(TreeView2.TopItem, 'Form Designer'), aChild.Caption, TObject(aChild)));
TreeView2.Select(TreeView2.Items.AddChildObject(TreeView2.Items.AddChild(TreeView2.Items[0], 'Code View'), Form1.Tabs.ActivePage.Caption, TObject(Form1.Tabs.ActivePage)));
// TreeView2.Items[1].Selected := True;
ComboBox1.AddItem(aChild.Caption, aChild);
SelectAt(FindString(aChild.Caption));
Properties.Cells[1,0]:= 'None';
Properties.Cells[1,1]:= IntToStr(ActiveMDIChild.Top);
Properties.Cells[1,2]:= IntToStr(ActiveMDIChild.Left);
Properties.Cells[1,3]:= IntToStr(ActiveMDIChild.Height);
Properties.Cells[1,4]:= IntToStr(ActiveMDIChild.Width);
For CurrentlyAt := 0 to 255 do
BASICFiles[CurrentlyAt] := '';
ProjectName := '';
FormFiles[0] := '';
end;
end;
procedure TMainForm.TBXItem15Click(Sender: TObject);
var Items :Integer; NewNode : TTreeNode;
begin
if MainForm.ActiveMDIChild.Handle <> Form1.Handle Then
MainForm.Next;
if (PageCount > 255) Then Exit;
with TTabSheet.Create(Self) do
begin
PageControl := Form1.Tabs;
Caption := 'Untitled'+IntToStr(Form1.Tabs.PageCount);
Tag := PageCount;
Form1.Tabs.ActivePage := Form1.Tabs.Pages[TabIndex];
end;
Inc(PageCount);
Unit1.CodeSense[Form1.Tabs.PageCount-1] := TCodeSense.Create(Self);
Unit1.CodeSense[Form1.Tabs.PageCount-1].Parent := Form1.Tabs.ActivePage;
Unit1.CodeSense[Form1.Tabs.PageCount-1].Align := alClient;
With Unit1.CodeSense[Form1.Tabs.PageCount-1] do //I guess I could of used this when I created CodeSense[0] ;-)
begin
Visible := True;
ColorSyntax := True;
LineNumbering := True;
LineNumberStart := 1;
LineNumberStyle := cmDecimal;
Font := Unit1.CodeSense[0].Font;
Text := '''Type your code here';
BorderStyle := cmBorderClient;
SelBounds := True;
end;
Unit1.CodeSense[Form1.Tabs.PageCount-1].Language := Language;
For Items := 0 To TreeView2.Items.Count-1 Do
begin
if TreeView2.Items[Items].Text = 'Code View' Then
begin
NewNode := TreeView2.Items.AddChildObject(TreeView2.Items[Items], Form1.Tabs.ActivePage.Caption, TObject(Form1.Tabs.ActivePage));
TreeView2.Select(NewNode);
end;
End;
end;
procedure TMainForm.TBXItem17Click(Sender: TObject);
var aChild : TMDIChild;
Items : Integer;
Forms : Integer;
begin
Inc(FormCount);
For Forms := 0 To MainForm.MDIChildCount-1 Do
Begin
if (MainForm.MDIChildren[Forms].Handle <> Form1.Handle) Then
ShowWindow(MainForm.MDIChildren[Forms].Handle, SW_HIDE);
End;
aChild := TMDIChild.Create(Application);
For Items := 0 To TreeView2.Items.Count-1 Do
begin
if TreeView2.Items[Items].Text = 'Form Designer' Then
begin
TreeView2.Select(TreeView2.Items.AddChildObject(TreeView2.Items[Items], 'Form' + IntToStr(FormCount), TObject(aChild)));
TreeView2.Selected.ImageIndex := 2;
end;
End;
RTDesigner1.BaseControl:=aChild;
aChild.FileName:='';
ComboBox1.AddItem(aChild.Caption, aChild);
// SelectAt(FindString(aChild.Caption));
Properties.Cells[1,0]:= 'None';
Properties.Cells[1,1]:= IntToStr(ActiveMDIChild.Top);
Properties.Cells[1,2]:= IntToStr(ActiveMDIChild.Left);
Properties.Cells[1,3]:= IntToStr(ActiveMDIChild.Height);
Properties.Cells[1,4]:= IntToStr(ActiveMDIChild.Width);
end;
procedure TMainForm.TBDock6RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
begin
if Bar = TBXToolWindow3 Then
Accept := True
else
Accept := False;
end;
procedure TMainForm.TBDock5RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
begin
if Bar = TBXToolWindow1 Then
Accept := True
else
Accept := False;
end;
procedure TMainForm.TBDock4RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
begin
if (Bar = DockAblePanel) Or (Bar = TBXToolbar1) Or (Bar = TBXToolBar4) Or (Bar = TBXToolbar5) Then
Accept := True
else
Accept := False;
end;
procedure TMainForm.TBDock1RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
begin
if (Bar = TBXToolbar1) Then
Accept := True
else
Accept := False;
end;
procedure TMainForm.TBDock2RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
begin
if (Bar = TBXToolbar1) Or (Bar = TBXToolBar4) Or (Bar = TBXToolbar5) Then
Accept := True
else
Accept := False;
end;
procedure TMainForm.TBDock3RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
begin
if (Bar = TBXToolWindow2) Then
Accept := True
else
Accept := False;
end;
procedure TMainForm.TBDock8RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
begin
if (Bar = TBXToolbar1) Or (Bar = TBXToolBar4) Or (Bar = TBXToolbar5) Then
Accept := True
else
Accept := False;
end;
procedure TMainForm.TBDock7RequestDock(Sender: TObject;
Bar: TTBCustomDockableWindow; var Accept: Boolean);
begin
if (Bar = TBXToolbar1) Or (Bar = TBXToolBar4) Or (Bar = TBXToolbar5) Or (Bar = DockablePanel) Then
Accept := True
else
Accept := False;
end;
procedure TMainForm.TBXToolWindow3DockChanged(Sender: TObject);
begin
TBXToolWindow3.Left := 0;
TBXToolWindow3.Top := 0;
TBXToolWindow3.Height := 320;
TBXToolWindow3.Left := 185;
end;
procedure TMainForm.TBXItem18Click(Sender: TObject);
begin
if (TBXToolWindow1.Visible = True) Then
Begin
if (TBXToolWindow1.Docked = False) Then Begin
TBXToolWindow1.Visible := False;
TBXItem18.Checked := False;
end;
End
Else
Begin
TBXToolWindow1.Visible := True;
TBXItem18.Checked := True;
End;
end;
procedure TMainForm.TBXItem19Click(Sender: TObject);
begin
if (TBXToolWindow3.Visible = True) Then
Begin
if (TBXToolWindow3.Docked = False) Then Begin
TBXToolWindow3.Visible := False;
TBXItem19.Checked := False;
end;
End
Else
Begin
TBXToolWindow3.Visible := True;
TBXItem19.Checked := True;
End;
end;
procedure TMainForm.TBXToolWindow1CloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose := False;
TBXToolWindow1.Hide;
TBXItem18.Checked := False;
end;
procedure TMainForm.TBXToolWindow3CloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose := False;
TBXToolWindow3.Hide;
TBXItem19.Checked := False;
end;
procedure TMainForm.WMSysCommand(var Msg: TMessage);
Begin
if (Msg.WParam = SC_CLOSE) Then
Begin
CloseChildren := True;
Close1Click(MainForm);
Form1.Close;
Application.Terminate;
End
Else
inherited;
End;
procedure TMainForm.TBItem1Click(Sender: TObject);
begin
OptionsFrm.Show;
end;
{
procedure TMainForm.TBItem4Click(Sender: TObject);
begin
IF SaveBasicDialog.Execute THEN
TBItem3Click(Sender)
ELSE
Exit;
end;
}
{
procedure TMainForm.TBItem3Click(Sender: TObject);
begin
IF SaveBASICDialog.FileName = '' THEN
TBItem4Click(Sender); //SaveBASICFileDialog
Form1.CodeSense1.SaveFile(SaveBASICDialog.FileName, False);
end;
}
procedure TMainForm.LanguageItemClick(Sender: TObject);
begin
LanguageFrm.Show;
end;
procedure TMainForm.OptionsItemClick(Sender: TObject);
begin
OptionsFrm.Show;
end;
procedure TMainForm.TBXItem23Click(Sender: TObject);
begin
//Form1.CodeSense1.ShowAboutBox;
Unit1.CodeSense[0].ShowAboutBox;
end;
procedure TMainForm.TBXItem22Click(Sender: TObject);
begin
//Form1.CodeSense1.ExecuteCmd( cmCmdProperties, 0 );
Unit1.CodeSense[Form1.Tabs.ActivePageIndex].ExecuteCmd(cmCmdProperties, 0);
end;
procedure TMainForm.TBXItem26Click(Sender: TObject);
begin
IF ProjectName = '' then
begi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -