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

📄 ebar2000demomain.pas

📁 胜天进销存源码,国产优秀的进销存
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    procedure dxBarManagerBarVisibleChange(Sender: TdxBarManager;
      ABar: TdxBar);
    procedure cbStretchGlyphsClick(Sender: TObject);
    procedure rgStyleClick(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure cbShowCaptionsClick(Sender: TObject);
    procedure cbHotImagesClick(Sender: TObject);
    procedure cbDisabledImagesClick(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
    procedure TrackBarChange(Sender: TObject);
  private
    { Private declarations }
    procedure UpdateColorItems(AButton, ADownButton, ACustomButton,
      AItemButton: TdxBarLargeButton; APopupMenu: TdxBarPopupMenu);
    procedure UpdateColorButtonGlyph(AButton: TdxBarLargeButton);
  public
    { Public declarations }
    FUpdateVisible : Boolean;
  end;

var
  EBar2000DemoMainForm: TEBar2000DemoMainForm;

implementation

uses EBar2000DemoAbout;

{$R *.DFM}
{$R windowsxp.res}

procedure TEBar2000DemoMainForm.cbStyleMeasureItem(Sender: TdxBarCustomCombo;
  AIndex: Integer; var AHeight: Integer);
begin
  AHeight := 35;
end;

procedure TEBar2000DemoMainForm.cbStyleDrawItem(Sender: TdxBarCustomCombo;
  AIndex: Integer; ARect: TRect; AState: TOwnerDrawState);
begin
  if Sender.DroppedDown then
    with Sender.Canvas do
    begin
      StyleImages.Draw(Sender.Canvas, ARect.Left, ARect.Top, AIndex);
      FrameRect(ARect);
      InflateRect(ARect, -1, -1);
      FrameRect(ARect);
    end
  else
    Sender.Canvas.TextRect(ARect, ARect.Left + 1, ARect.Top, TdxBarCombo(Sender).Text);
end;

procedure TEBar2000DemoMainForm.FormCreate(Sender: TObject);
begin
  dmCommonData.AboutFormClass := TEBar2000DemoAboutForm;

  cbAddress.Items.Add(dxStartURL);
  cbAddress.Items.Add(dxSupportURL);

  TrackBarChange(tbStandard);
  TrackBarChange(tbFormatting);
  btnFontColor.Tag := clBlue;
  UpdateColorItems(btnFontColor, btnDownFontColorItem, btnCustomFontColor, btnFontColorItem, FontColorPopupMenu);
  btnHighlight.Tag := clYellow;
  UpdateColorItems(btnHighlight, btnDownColorItem, btnCustomColor, btnColorItem, HightlightColorPopupMenu);
  FUpdateVisible := True;
  rgStyleClick(nil);
end;

procedure TEBar2000DemoMainForm.UpdateColorItems(AButton, ADownButton, ACustomButton, AItemButton: TdxBarLargeButton;
  APopupMenu: TdxBarPopupMenu);
const
  Colors: array [0..15] of TColor = (clBlack, clMaroon, clGreen, clOlive, clNavy, clPurple, clTeal, clGray, clSilver,
    clRed, clLime, clYellow, clBlue, clFuchsia, clAqua, clWhite);
  ColorNames: array [0..15] of string = ('Black', 'Maroon', 'Green', 'Olive', 'Navy', 'Purple', 'Teal', 'Gray', 'Silver',
    'Red', 'Lime', 'Yellow', 'Blue', 'Fuchsia', 'Aqua', 'White');
var
  I: Integer;
  B: TBitmap;
begin
  B := TBitmap.Create;
  B.Width := Images.Width + 1;
  B.Height := Images.Height;
  APopupMenu.ItemLinks.Clear;
  for I := 0 to 15 do
  begin
    if Colors[I] <> clBlack then
      B.Canvas.Brush.Color := clBlack
    else
      B.Canvas.Brush.Color := clWhite;
    B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height));
    B.Canvas.Brush.Color := Colors[I];
    B.Canvas.Pen.Color := clGray;
    if AButton.Tag = Colors[I] then
      B.Canvas.Rectangle(1, 1, B.Width - 3, B.Height - 2)
    else
      B.Canvas.Rectangle(2, 2, B.Width - 2, B.Height - 1);
    with APopupMenu.ItemLinks.Add do
    begin
      if AButton.Tag = Colors[I] then
      begin
        Item := ADownButton;
        ADownButton.Down := True;
      end
      else
        Item := AItemButton;
      Data := Colors[I];
      UserCaption := ColorNames[I];
      UserGlyph := B;
    end;
  end;
  with APopupMenu.ItemLinks.Add do
  begin
    Item := ACustomButton;
    UserCaption := 'Custom ...';
    BeginGroup := True;
  end;
  B.Free;
end;

procedure TEBar2000DemoMainForm.btnFontColorItemClick(Sender: TObject);
begin
  btnFontColor.Tag := TdxBarLargeButton(Sender).ClickItemLink.Data;
  UpdateColorItems(btnFontColor, btnDownFontColorItem, btnCustomFontColor, btnFontColorItem, FontColorPopupMenu);
  UpdateColorButtonGlyph(btnFontColor);
end;

procedure TEBar2000DemoMainForm.UpdateColorButtonGlyph(AButton: TdxBarLargeButton);
var B : TBitmap;
    R : TRect;
begin
  B := TBitmap.Create;
  with B, Canvas do
  begin
    Width := AButton.Glyph.Width;
    Height := AButton.Glyph.Height;
    if AButton.Tag = clFuchsia then
      Brush.Color := clSilver
    else
      Brush.Color := clFuchsia;
    R := Rect(0, 0, Width, Height);
    FillRect(R);
    BrushCopy(R, AButton.Glyph, R, AButton.Glyph.TransparentColor);
    Brush.Color := AButton.Tag;
    if ColorToRGB(AButton.Tag) <> ColorToRGB(clBtnFace) then
      Pen.Color := AButton.Tag
    else
      Pen.Color := clBlack;
    Rectangle(0, Height - 4, Width, Height - 1)
  end;
  AButton.Glyph.Assign(B);
  B.Free;
end;

procedure TEBar2000DemoMainForm.btnCustomFontColorClick(Sender: TObject);
begin
  ColorDialog.Color := btnFontColor.Tag;
  if ColorDialog.Execute then
  begin
    btnFontColor.Tag := ColorDialog.Color;
    UpdateColorButtonGlyph(btnFontColor);
    UpdateColorItems(btnFontColor, btnDownFontColorItem, btnCustomFontColor, btnFontColorItem, FontColorPopupMenu);
  end;
end;

procedure TEBar2000DemoMainForm.btnColorItemClick(Sender: TObject);
begin
  btnHighlight.Tag := TdxBarLargeButton(Sender).ClickItemLink.Data;
  UpdateColorItems(btnHighlight, btnDownColorItem, btnCustomColor, btnColorItem, HightlightColorPopupMenu);
  UpdateColorButtonGlyph(btnHighlight);
end;

procedure TEBar2000DemoMainForm.btnCustomColorClick(Sender: TObject);
begin
  ColorDialog.Color := btnHighlight.Tag;
  if ColorDialog.Execute then
  begin
    btnHighlight.Tag := ColorDialog.Color;
    UpdateColorButtonGlyph(btnHighlight);
    UpdateColorItems(btnHighlight, btnDownColorItem, btnCustomColor, btnColorItem, HightlightColorPopupMenu);
  end;
end;

procedure TEBar2000DemoMainForm.btnStandardClick(Sender: TObject);
begin
  FUpdateVisible := False;
  dxBarManager.Bars[TdxBarLargeButton(Sender).Tag].Visible := TdxBarLargeButton(Sender).Down;
  FUpdateVisible := True;
end;

procedure TEBar2000DemoMainForm.sbFontClick(Sender: TObject);
begin
  FontDialog.Font.Assign(dxBarManager.Font);
  if FontDialog.Execute then
    dxBarManager.Font.Assign(FontDialog.Font);
end;

procedure TEBar2000DemoMainForm.cbCanCustomizeClick(Sender: TObject);
begin
  dxBarManager.CanCustomize := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.sbDockColorClick(Sender: TObject);
begin
  if ColorDialog.Execute then
    dxBarManager.DockColor := ColorDialog.Color;
end;

procedure TEBar2000DemoMainForm.cbAllowResetClick(Sender: TObject);
begin
  dxBarManager.AllowReset := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.cbShowHelpButtonClick(Sender: TObject);
begin
  dxBarManager.ShowHelpButton := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.cbSunkenBorderClick(Sender: TObject);
begin
  dxBarManager.SunkenBorder := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.cbMenusShowRecentItemsFirstClick(Sender: TObject);
begin
  dxBarManager.MenusShowRecentItemsFirst := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.rgMenuAnimationsClick(Sender: TObject);
begin
  dxBarManager.MenuAnimations := TdxBarMenuAnimations(rgMenuAnimations.ItemIndex);
end;

procedure TEBar2000DemoMainForm.SpeedButton1Click(Sender: TObject);
begin
  FontDialog.Font.Assign(dxBarManager.Bars[1].Font);
  if FontDialog.Execute then
    dxBarManager.bars[1].Font.Assign(FontDialog.Font);
end;

procedure TEBar2000DemoMainForm.SpeedButton2Click(Sender: TObject);
begin
  FontDialog.Font.Assign(dxBarManager.Bars[2].Font);
  if FontDialog.Execute then
    dxBarManager.bars[2].Font.Assign(FontDialog.Font);
end;

procedure TEBar2000DemoMainForm.cbAllowCustomizingBar1Click(Sender: TObject);
begin
  dxBarManager.Bars[1].AllowCustomizing := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.cbAllowQuickCustomizingBar1Click(Sender: TObject);
begin
  dxBarManager.Bars[1].AllowQuickCustomizing := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.cbAllowResetBar1Click(Sender: TObject);
begin
  dxBarManager.Bars[1].AllowReset := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.cbAllowCustomizingBar2Click(Sender: TObject);
begin
  dxBarManager.Bars[2].AllowCustomizing := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.cbAllowQuickCustomizingBar2Click(Sender: TObject);
begin
  dxBarManager.Bars[2].AllowQuickCustomizing := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.cbAllowResetBar2Click(Sender: TObject);
begin
  dxBarManager.Bars[2].AllowReset := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.cbShowFullMenusAfterDelayClick(Sender: TObject);
begin
  dxBarManager.ShowFullMenusAfterDelay := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.dxBarManagerHelpButtonClick(Sender: TObject);
begin
  MessageDlg('You click on Help Button .', mtInformation, [mbOK],0);
end;

procedure TEBar2000DemoMainForm.cbRotateWhenVerticalClick(Sender: TObject);
begin
  dxBarManager.Bars[3].RotateWhenVertical := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.btnCustomizeClick(Sender: TObject);
begin
  dxBarManager.Customizing(True);
end;

procedure TEBar2000DemoMainForm.dxBarManagerBarVisibleChange(Sender: TdxBarManager;
  ABar: TdxBar);
begin
  if FUpdateVisible and HandleAllocated then
    case ABar.Index of
      1: btnStandard.Down := ABar.Visible;
      2: btnFormatting.Down := ABar.Visible;
      3: btnInternet.Down := ABar.Visible;
    end;
end;

procedure TEBar2000DemoMainForm.cbStretchGlyphsClick(Sender: TObject);
begin
  dxBarManager.StretchGlyphs := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.rgStyleClick(Sender: TObject);
begin
  dxBarManager.Style := TdxBarManagerStyle(rgStyle.ItemIndex);
  Caption := Format('ExpressBars (%s Style)',[rgStyle.Items[rgStyle.ItemIndex]]);
end;

procedure TEBar2000DemoMainForm.CheckBox1Click(Sender: TObject);
begin
  dxBarManager.Bars[1].MultiLine := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.CheckBox2Click(Sender: TObject);
begin
  dxBarManager.Bars[2].MultiLine := TCheckBox(Sender).Checked;
end;

procedure TEBar2000DemoMainForm.cbShowCaptionsClick(Sender: TObject);
var
  i: Integer;
  AChecked: Boolean;
begin
  dxBarManager.LockUpdate := True;
  AChecked := TCheckBox(Sender).Checked;
  for i:=0 to ComponentCount - 1 do
    if Components[i] is TdxBarLargeButton then
      TdxBarLargeButton(Components[i]).ShowCaption := AChecked;
  dxBarManager.LockUpdate := False;
end;

procedure TEBar2000DemoMainForm.cbHotImagesClick(Sender: TObject);
begin
  if TCheckBox(Sender).Checked then
    dxBarManager.HotImages := ilHotImages
  else
    dxBarManager.HotImages := nil;
end;

procedure TEBar2000DemoMainForm.cbDisabledImagesClick(Sender: TObject);
begin
  if TCheckBox(Sender).Checked then
    dxBarManager.DisabledImages := ilDisabledImages
  else
    dxBarManager.DisabledImages := nil;
end;

procedure TEBar2000DemoMainForm.CheckBox4Click(Sender: TObject);
begin
  if TCheckBox(Sender).Checked then
    dxBarManager.LargeImages := Images
  else
    dxBarManager.LargeImages := nil;
end;

procedure TEBar2000DemoMainForm.TrackBarChange(Sender: TObject);
begin
  dxBarManager.Bars[TTrackBar(Sender).Tag].AlphaBlendValue := TTrackBar(Sender).Position * 15;
end;

end.

⌨️ 快捷键说明

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