SplitF.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit SplitF;
  2. interface
  3. uses
  4.   SysUtils, Windows, Messages, Classes, Graphics, Controls,
  5.   Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     ListBox1: TListBox;
  9.     ListBox2: TListBox;
  10.     ListBox3: TListBox;
  11.     FontDialog1: TFontDialog;
  12.     HeaderControl1: THeaderControl;
  13.     procedure ListBoxDblClick(Sender: TObject);
  14.     procedure HeaderControl1SectionResize(HeaderControl: THeaderControl;
  15.       Section: THeaderSection);
  16.     procedure HeaderControl1SectionClick(HeaderControl: THeaderControl;
  17.       Section: THeaderSection);
  18.     procedure HeaderControl1SectionDrag(Sender: TObject; FromSection,
  19.       ToSection: THeaderSection; var AllowDrag: Boolean);
  20.     procedure Form1Resize(Sender: TObject);
  21.   private
  22.     { Private declarations }
  23.   public
  24.     { Public declarations }
  25.   end;
  26. var
  27.   Form1: TForm1;
  28. implementation
  29. {$R *.DFM}
  30. procedure TForm1.ListBoxDblClick(Sender: TObject);
  31. begin
  32.   with Sender as TListbox do
  33.   begin
  34.     FontDialog1.Font := Font;
  35.     if FontDialog1.Execute then
  36.       Font := FontDialog1.Font;
  37.   end;
  38. end;
  39. procedure TForm1.HeaderControl1SectionResize(HeaderControl: THeaderControl;
  40.   Section: THeaderSection);
  41. var
  42.   List: TListBox;
  43. begin
  44.   List := FindComponent ('ListBox' + IntToStr (Section.ImageIndex)) as TListBox;
  45.   List.Width := Section.Width;
  46. end;
  47. procedure TForm1.HeaderControl1SectionClick(HeaderControl: THeaderControl;
  48.   Section: THeaderSection);
  49. var
  50.   List: TListBox;
  51. begin
  52.   List := FindComponent ('ListBox' + IntToStr (Section.ImageIndex)) as TListBox;
  53.   List.Sorted := not List.Sorted;
  54. end;
  55. procedure TForm1.HeaderControl1SectionDrag(Sender: TObject; FromSection,
  56.   ToSection: THeaderSection; var AllowDrag: Boolean);
  57. var
  58.   List: TListBox;
  59. begin
  60.   List := FindComponent ('ListBox' + IntToStr (FromSection.ImageIndex)) as TListBox;
  61.   List.Left := ToSection.Left;
  62.   List.Width := ToSection.Width;
  63.   List := FindComponent ('ListBox' + IntToStr (ToSection.ImageIndex)) as TListBox;
  64.   List.Left := FromSection.Left;
  65.   List.Width :=fromSection.Width;
  66. end;
  67. procedure TForm1.Form1Resize(Sender: TObject);
  68. var
  69.   I: Integer;
  70.   List: TListBox;
  71. begin
  72.   for I := 0 to 2 do
  73.   begin
  74.     List := FindComponent ('ListBox' + IntToStr (
  75.       HeaderControl1.Sections[I].ImageIndex)) as TListBox;
  76.     List.Left := HeaderControl1.Sections[I].Left;
  77.     List.Width := HeaderControl1.Sections[I].Width;
  78.   end;
  79. end;
  80. end.