⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treeshed.pas

📁 第三方控件:PaintGrid.pas 网格型仪表控件源文件 Mymeter.pas 圆型仪表控件源文件 Project1是这两个控件的使用范例。 该
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      scNever: ComboBox5.ItemIndex:=2;
    end;

    { gradient }
    ComboBox2.ItemIndex:=Ord(Gradient.Direction);
    Shape2.Brush.Color:=Gradient.StartColor;
    Shape3.Brush.Color:=Gradient.EndColor;

    if Gradient.MidColor=clNone then
        Shape6.Brush.Color:=GroupBox1.Color
    else
        Shape6.Brush.Color:=Gradient.MidColor;
    CheckBox7.Enabled:=Gradient.MidColor<>clNone;

    { transparency }
    UDTransp.Position:=Transparency;

    ComboBox4.ItemIndex:=Ord(ImageAlignment);
    ComboBox3.ItemIndex:=Ord(ImageIndex);
    Shape1.Brush.Color:=Shadow.Color;
    UpDown7.Position:=Shadow.HorizSize;
    UpDown8.Position:=Shadow.VertSize;
    CBSmooth.Checked:=Shadow.Smooth;
    UpDown9.Position:=Shadow.Transparency;

    CheckBox1.Checked:=AutoSize;
    CheckBox5.Checked:=AutoPosition.Left;
    CheckBox6.Checked:=AutoPosition.Top;
    Edit3.Enabled:=not AutoSize;
    Edit4.Enabled:=not AutoSize;
    ScrollBar4.Enabled:=not CheckBox1.Checked;
    ScrollBar5.Enabled:=not CheckBox1.Checked;
    SetUpDowns;
    Changing:=True;
    ScrollBar2.Position:=0;
    ScrollBar3.Position:=0;
    ScrollBar4.Position:=X1-X0;
    ScrollBar5.Position:=Y1-Y0;
    CheckBox4.Checked:=GradientClip;

    CheckBox8.Checked:=Text.ClipText;

    if Connections.Count=0 then
       CBConnStyle.ItemIndex:=0
    else
       CBConnStyle.ItemIndex:=Ord(Connections[0].Style);

    With CBCursor do
    begin
      Items.BeginUpdate;
      Clear;
      GetCursorValues(ProcGetCursors);
      ProcGetCursors(TeeMsg_TeeHand);
      Items.EndUpdate;
    end;

    With CBCursor do
    if TeeCursorToIdent(Cursor,tmpSt) then
       ItemIndex:=Items.IndexOf(DeleteCursorPrefix(tmpSt))
    else
       ItemIndex:=-1;

    UpDown5.Position:=ImageWidth;
    UpDown6.Position:=ImageHeight;

    CheckImgTransp;

    if csDesigning in ComponentState then
       Caption:=TreeMsg_EditingMode+Name;

    Changing:=False;
  end;
end;

Procedure TNodeTreeEditor.SetUpDowns;

  Procedure ChangeUpDown(UpDown:TUpDown; Value:Integer);
  var tmp : TEdit;
  begin
    if Abs(Value)<=32767 then
       UpDown.Position:=Value
    else
    begin
      tmp:=TEdit(UpDown.Associate);
      UpDown.Associate:=nil;
      tmp.Text:=TeeStr(Value);
    end;
  end;

begin
  Changing:=True;
  if Tree1.Selected.Count>0 then
  with Tree1.Selected[0] do
  begin
    ChangeUpDown(UpDown1,X0);
    ChangeUpDown(UpDown2,Y0);
    ChangeUpDown(UpDown3,X1);
    ChangeUpDown(UpDown4,Y1);
  end;
  Changing:=False;
end;

procedure TNodeTreeEditor.Shape1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var t        : Integer;
    tmpColor : TColor;
    OldColor : TColor;
begin
  With Tree1 do
  if Selected.Count>0 then
  begin
    OldColor:=Selected[0].Shadow.Color;
    tmpColor:=EditColor(Self,OldColor);
    if tmpColor<>OldColor then
    begin
      for t:=0 to Selected.Count-1 do
          Selected[t].Shadow.Color:=tmpColor;
      Shape1.Brush.Color:=tmpColor;
    end;
  end;
end;

procedure TNodeTreeEditor.CheckBox1Click(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  begin
    With Tree1 do
    for t:=0 to Selected.Count-1 do
    With Selected[t] do AutoSize:=CheckBox1.Checked;
    Edit3.Enabled:=not CheckBox1.Checked;
    Edit4.Enabled:=not CheckBox1.Checked;
    ScrollBar4.Enabled:=not CheckBox1.Checked;
    ScrollBar5.Enabled:=not CheckBox1.Checked;
  end;
end;

procedure TNodeTreeEditor.Edit2Change(Sender: TObject);
begin
  if not Changing then
  With Tree1 do
  if Selected.Count>0 then Selected[0].Y0:=UpDown2.Position;
end;

procedure TNodeTreeEditor.Edit1Change(Sender: TObject);
begin
  if not Changing then
  With Tree1 do
  if Selected.Count>0 then Selected[0].X0:=UpDown1.Position;
end;

procedure TNodeTreeEditor.Edit3Change(Sender: TObject);
begin
  if not Changing then
  With Tree1 do
  if Selected.Count>0 then Selected[0].X1:=UpDown3.Position;
end;

procedure TNodeTreeEditor.Edit4Change(Sender: TObject);
begin
  if not Changing then
  With Tree1 do
  if Selected.Count>0 then Selected[0].Y1:=UpDown4.Position;
end;

procedure TNodeTreeEditor.ProcGetCursors(const S: string);
begin
  CBCursor.Items.Add(DeleteCursorPrefix(S));
end;

procedure TNodeTreeEditor.FormCreate(Sender: TObject);
begin
  Changing:=True;
  OldX:=0;
  OldY:=0;

  TeeTranslateControl(Self);
end;

procedure TNodeTreeEditor.ScrollBar2Change(Sender: TObject);
var t   : Integer;
    tmp : Integer;
begin
  if not Changing then
  begin
    tmp:=(ScrollBar2.Position-OldX);
    With Tree1.Selected do
    for t:=0 to Count-1 do
        Items[t].MoveRelative(tmp,0,False);

    OldX:=ScrollBar2.Position;
    SetUpDowns;
  end;
end;

procedure TNodeTreeEditor.ScrollBar4Change(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  begin
    With Tree1 do
    for t:=0 to Selected.Count-1 do
    With Selected[t] do X1:=X0+ScrollBar4.Position;
    SetUpDowns;
  end;
end;

procedure TNodeTreeEditor.ScrollBar5Change(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  begin
    With Tree1 do
    for t:=0 to Selected.Count-1 do
    With Selected[t] do Y1:=Y0+ScrollBar5.Position;
    SetUpDowns;
  end;
end;

procedure TNodeTreeEditor.ScrollBar3Change(Sender: TObject);
var t   : Integer;
    tmp : Integer;
begin
  if not Changing then
  begin
    tmp:=(ScrollBar3.Position-OldY);
    With Tree1.Selected do
    for t:=0 to Count-1 do
        Items[t].MoveRelative(0,tmp,False);

    OldY:=ScrollBar3.Position;
    SetUpDowns;
  end;
end;

procedure TNodeTreeEditor.CBCursorChange(Sender: TObject);
var tmpCursor : Longint;
    t         : Integer;
begin
  if TeeIdentToCursor(TeeCursorPrefix+
                      CBCursor.Items[CBCursor.ItemIndex],
                      tmpCursor) then
    With Tree1 do
    for t:=0 to Selected.Count-1 do Selected[t].Cursor:=tmpCursor;
end;

procedure TNodeTreeEditor.Button4Click(Sender: TObject);
var t   : Integer;
    tmp : TColor;
begin
  for t:=0 to Tree1.Selected.Count-1 do
  With Tree1.Selected[t].Gradient do
  begin
    tmp:=StartColor;
    StartColor:=EndColor;
    EndColor:=tmp;
    Shape2.Brush.Color:=StartColor;
    Shape3.Brush.Color:=EndColor;
  end;
end;

procedure TNodeTreeEditor.CheckBox4Click(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  for t:=0 to Tree1.Selected.Count-1 do
      Tree1.Selected[t].GradientClip:=CheckBox4.Checked;
end;

procedure TNodeTreeEditor.Shape4MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var tmpColor : TColor;
    t        : Integer;
    OldColor : TColor;
begin
  OldColor:=Tree1.Selected[0].Brush.Color;
  tmpColor:=EditColor(Self,OldColor);
  if tmpColor<>OldColor then
  begin
    for t:=0 to Tree1.Selected.Count-1 do
    begin
      Tree1.Selected[t].Brush.Color:=tmpColor;
      Tree1.Selected[t].Transparent:=False;
    end;
    Shape4.Brush.Color:=tmpColor;
    CheckBox3.Checked:=False;
  end;
end;

procedure TNodeTreeEditor.ComboBox3Change(Sender: TObject);
var t : Integer;
begin
  With Tree1 do
  for t:=0 to Selected.Count-1 do
      Selected[t].ImageIndex:=TTreeNodeImageIndex(ComboBox3.ItemIndex);
  Image1Assign(Tree1.Selected[0].GetPicture);
end;

procedure TNodeTreeEditor.CheckBox5Click(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  With Tree1 do
  for t:=0 to Selected.Count-1 do
  With Selected[t] do AutoPosition.Left:=CheckBox5.Checked;
end;

procedure TNodeTreeEditor.Edit7Change(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  With Tree1 do
    for t:=0 to Selected.Count-1 do
        With Selected[t] do Shadow.HorizSize:=UpDown7.Position;
end;

procedure TNodeTreeEditor.Edit8Change(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  With Tree1 do
    for t:=0 to Selected.Count-1 do
        With Selected[t] do Shadow.VertSize:=UpDown8.Position;
end;

procedure TNodeTreeEditor.PageControl1Change(Sender: TObject);
var tmp : TFormTeeText;
begin
  if (Sender as TPageControl).ActivePage=TabText then
  if TabText.ControlCount=0 then
  begin
    tmp:=TFormTeeText.Create(Self);
    tmp.Tree1:=Tree1;
    tmp.Connection1:=nil;
    AddFormTo(tmp,TabText{$IFNDEF D4},0{$ENDIF});
    tmp.ReAlign; //tom:01/09/2002
  end;
end;

procedure TNodeTreeEditor.CheckBox6Click(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  With Tree1 do
  for t:=0 to Selected.Count-1 do
  With Selected[t] do AutoPosition.Top:=CheckBox6.Checked;
end;

procedure TNodeTreeEditor.Edit5Change(Sender: TObject);
var t:Integer;
begin
  if not Changing then
  With Tree1 do
  for t:=0 to Selected.Count-1 do
  With Selected[t] do
  if Sender=Edit5 then ImageWidth:=UpDown5.Position
                  else ImageHeight:=UpDown6.Position;
end;

procedure TNodeTreeEditor.ComboBox5Change(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  With Tree1 do
  for t:=0 to Selected.Count-1 do
  With Selected[t] do
  Case ComboBox5.ItemIndex of
    0: ShowCross:=scAuto;
    1: ShowCross:=scAlways;
    2: ShowCross:=scNever;
  end;
end;

procedure TNodeTreeEditor.Shape5MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var tmpColor : TColor;
    t        : Integer;
    OldColor : TColor;
begin
  OldColor:=Tree1.Selected[0].Border.Color;
  tmpColor:=EditColor(Self,OldColor);
  if tmpColor<>OldColor then
  begin
    for t:=0 to Tree1.Selected.Count-1 do
        Tree1.Selected[t].Border.Color:=tmpColor;
    Shape5.Brush.Color:=tmpColor;
  end;
end;

procedure TNodeTreeEditor.Shape6MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var t        : Integer;
    tmpColor : TColor;
    OldColor : TColor;
begin
  With Tree1 do
  if Selected.Count>0 then
  begin
    OldColor:=Selected[0].Gradient.MidColor;
    tmpColor:=EditColor(Self,OldColor);
    if tmpColor<>OldColor then
    begin
      for t:=0 to Selected.Count-1 do
          Selected[t].Gradient.MidColor:=tmpColor;
      Shape6.Brush.Color:=tmpColor;
    end;
  end;
  CheckBox7.Enabled:=True;
end;

procedure TNodeTreeEditor.BBackColorClick(Sender: TObject);
var t : Integer;
begin
  With Tree1.Selected do
  if Count>0 then
     for t:=1 to Count-1 do Items[t].BackColor:=Items[0].BackColor;
end;

procedure TNodeTreeEditor.CheckBox7Click(Sender: TObject);
var t : Integer;
begin
  if CheckBox7.Checked then
  for t:=0 to Tree1.Selected.Count-1 do
      Tree1.Selected[t].Gradient.MidColor:=clNone;
  CheckBox7.Enabled:=not CheckBox7.Checked;
  if CheckBox7.Checked then Shape6.Brush.Color:=GroupBox1.Color;
end;

procedure TNodeTreeEditor.ETranspChange(Sender: TObject);
var t : Integer;
begin
  if Showing then 
  for t:=0 to Tree1.Selected.Count-1 do
      Tree1.Selected[t].Transparency:=UDTransp.Position;
end;

procedure TNodeTreeEditor.CBConnStyleChange(Sender: TObject);
var t  : Integer;
    tt : Integer;
begin
  if not Changing then
  With Tree1 do
  for t:=0 to Selected.Count-1 do
  With Selected[t] do
       for tt:=0 to Connections.Count-1 do
           Connections[tt].Style:=TTreeConnectionStyle(CBConnStyle.ItemIndex);
end;

procedure TNodeTreeEditor.CheckBox8Click(Sender: TObject);
var t: Integer;
begin
  if not Changing then
  With Tree1 do
  for t:=0 to Selected.Count-1 do Selected[t].Text.ClipText:=CheckBox8.Checked;
end;

procedure TNodeTreeEditor.CBImgTranspClick(Sender: TObject);
var t : Integer;
begin
  With Tree1 do
  begin
    for t:=0 to Selected.Count-1 do
        Selected[t].Image.Transparent:=CBImgTransp.Checked;
    Invalidate;
  end;
end;

procedure TNodeTreeEditor.CBSmoothClick(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  With Tree1 do
    for t:=0 to Selected.Count-1 do
        With Selected[t] do Shadow.Smooth:=CBSmooth.Checked;
end;

procedure TNodeTreeEditor.Edit9Change(Sender: TObject);
var t : Integer;
begin
  if not Changing then
  With Tree1 do
    for t:=0 to Selected.Count-1 do
        With Selected[t] do Shadow.Transparency:=UpDown9.Position;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -