📄 bimunit.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
int BALLSIZE=8;
int SearchNumber=0;
bool COMPEL=false;
#include "BiMUnit.h"
#include "BinaryClass.cpp"
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TBinaryMainForm *BinaryMainForm;
CBinaryTree MyTree;
CBinaryNode *selectedTreeNode;
CBinaryNode *LastselectedTreeNode;
//int data[14]={23,45,13,78,1,22,2,66,12,76,88,19,34,54};
int FTreeData[7]={100,50,150,180,130,25,75};
int LSkewTreeData[5]={75,85,95,125,150};
int RSkewTreeData[5]={75,60,50,30,15};
int data[11]={23,45,13,78,1,22,2,66,12,76,55};
//---------------------------------------------------------------------------
__fastcall TBinaryMainForm::TBinaryMainForm(TComponent* Owner)
: TForm(Owner)
{
BinaryMainForm->Width=560;
BinaryMainForm->Height=380;
DrawTreePadImage->Width=BinaryMainForm->Width-24;
DrawTreePadImage->Height=BinaryMainForm->Height-70;
Bevel1->Width=DrawTreePadImage->Width+6;
Bevel1->Height=DrawTreePadImage->Height+6;
ControlSelectionComboBox->ItemIndex=0;
SelectANewTreeComboBox->ItemIndex=0;
}
//---------------------------------------------------------------------------
void __fastcall TBinaryMainForm::FormResize(TObject *Sender)
{
int ButtonWidth=SearchButton->Width+16;
if(BinaryMainForm->Width<420)
BinaryMainForm->Width=420;
// if(BinaryMainForm->Height<380)
BinaryMainForm->Height=380;
if(BinaryMainForm->Width>560)
BinaryMainForm->Width=560;
//if(BinaryMainForm->Height>420)
// BinaryMainForm->Height=420;
DrawTreePadImage->Width=BinaryMainForm->Width-24;
DrawTreePadImage->Height=BinaryMainForm->Height-70;
Bevel1->Width=DrawTreePadImage->Width+8;
Bevel1->Height=DrawTreePadImage->Height+6;
InputEdit->Top=ControlSelectionComboBox->Top=SearchButton->Top=SelectANewTreeComboBox->Top=InsertButton->Top=DrawTreePadImage->Height+DrawTreePadImage->Top+6;
SelectANewTreeComboBox->Left=BinaryMainForm->Width-ButtonWidth;
SearchButton->Left=BinaryMainForm->Width-ButtonWidth*2;
InsertButton->Left=BinaryMainForm->Width-ButtonWidth*3;
ControlSelectionComboBox->Left=BinaryMainForm->Width-ButtonWidth*5;
InputEdit->Left=12;
DrawTreePadImage->Canvas->Pen->Color=clWhite;
DrawTreePadImage->Canvas->Brush->Color = clBlack;
DrawTreePadImage->Canvas->Rectangle(0,0,DrawTreePadImage->Width,DrawTreePadImage->Height);
MyTree.DrawTree(DrawTreePadImage->Width,
DrawTreePadImage->Height);
}
//---------------------------------------------------------------------------
void __fastcall TBinaryMainForm::FormCreate(TObject *Sender)
{
for(int i = 0 ;i<11 ;i++)
{
MyTree.Insert(data[i]);
}
}
//---------------------------------------------------------------------------
void __fastcall TBinaryMainForm::DrawTreePadImageMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(COMPEL){
DrawTreePadImage->Canvas->Pen->Color=clWhite;
DrawTreePadImage->Canvas->Brush->Color = clBlack;
DrawTreePadImage->Canvas->Rectangle(0,0,DrawTreePadImage->Width,DrawTreePadImage->Height);
MyTree.DrawTree(DrawTreePadImage->Width,
DrawTreePadImage->Height);
MyTree.setAllNodeLabel_FALSE();
COMPEL=false;
VisualSearchLabel->Visible=false;
}
if(Button==mbLeft)
{
selectedTreeNode=MyTree.SearchNodePosition(X,Y);
if(selectedTreeNode)
{
if(LastselectedTreeNode)
LastselectedTreeNode->SetNodeShowStatus(false,
MyTree.getX_Step(),MyTree.getY_Step());
/////// 盢砆匡
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -