Panel2u.pas
上传用户:hylc_2004
上传日期:2014-01-23
资源大小:46800k
文件大小:4k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit Panel2u;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   ExtCtrls, fcpanel, fcLabel, StdCtrls, fcCombo, fctreecombo, ImgList, fcFrame,
  6.   fcColorCombo, fcImager, fcStatusBar;
  7. type
  8.   TPanel2DemoForm = class(TForm)
  9.     fcPanel1: TfcPanel;
  10.     fcPanel2: TfcPanel;
  11.     fcPanel3: TfcPanel;
  12.     ImageList1: TImageList;
  13.     fcGroupBox1: TfcGroupBox;
  14.     FocusFrameCombo: TfcTreeCombo;
  15.     focuslabel: TfcLabel;
  16.     fcPanel4: TfcPanel;
  17.     fcPanel5: TfcPanel;
  18.     fcPanel6: TfcPanel;
  19.     fcPanel7: TfcPanel;
  20.     fcLabel1: TfcLabel;
  21.     fcLabel2: TfcLabel;
  22.     fcLabel3: TfcLabel;
  23.     fcLabel4: TfcLabel;
  24.     fcLabel5: TfcLabel;
  25.     fcLabel6: TfcLabel;
  26.     fcLabel7: TfcLabel;
  27.     Edit1: TEdit;
  28.     Edit3: TEdit;
  29.     Edit5: TEdit;
  30.     Edit2: TEdit;
  31.     Edit4: TEdit;
  32.     fcColorList1: TfcColorList;
  33.     fcLabel8: TfcLabel;
  34.     fcColorList2: TfcColorList;
  35.     fcLabel9: TfcLabel;
  36.     ListBox1: TListBox;
  37.     ListBox2: TListBox;
  38.     fcImager1: TfcImager;
  39.     CheckBox1: TCheckBox;
  40.     fcStatusBar1: TfcStatusBar;
  41.     procedure FocusFrameComboChange(Sender: TObject);
  42.     procedure fcPanel2Enter(Sender: TObject);
  43.     procedure fcPanel2Exit(Sender: TObject);
  44.     procedure fcColorList1Click(Sender: TObject);
  45.     procedure fcColorList2Click(Sender: TObject);
  46.     procedure FormShow(Sender: TObject);
  47.     procedure CheckBox1Click(Sender: TObject);
  48.   private
  49.     { Private declarations }
  50.   public
  51.     { Public declarations }
  52.   end;
  53. var
  54.   Panel2DemoForm: TPanel2DemoForm;
  55.   lastpanel:TfcPanel;
  56. implementation
  57. {$R *.DFM}
  58. procedure TPanel2DemoForm.FocusFrameComboChange(Sender: TObject);
  59. var i:integer;
  60. begin
  61.   for i:= 0 to Controlcount-1 do begin
  62.      if (Controls[i] is TfcPanel) then begin
  63.        TfcPanel(Controls[i]).Frame.Enabled := True;
  64.        if ((Sender as TfcTreeCombo).Text = 'Flat') then
  65.           TfcPanel(Controls[i]).Frame.FocusStyle := efsFrameSingle
  66.        else if ((Sender as TfcTreeCombo).Text = 'FrameBox') then
  67.           TfcPanel(Controls[i]).Frame.FocusStyle := efsFrameBox
  68.        else if ((Sender as TfcTreeCombo).Text = 'No Frame (Normal)') then begin
  69.           TfcPanel(Controls[i]).Frame.Enabled := False;
  70.           TfcPanel(Controls[i]).BorderStyle := bsSingle;
  71.        end
  72.        else if ((Sender as TfcTreeCombo).Text = 'Sunken') then
  73.           TfcPanel(Controls[i]).Frame.FocusStyle := efsFrameSunken
  74.        else if ((Sender as TfcTreeCombo).Text = 'Raised') then
  75.           TfcPanel(Controls[i]).Frame.FocusStyle := efsFrameRaised
  76.        else if ((Sender as TfcTreeCombo).Text = 'Etched') then
  77.           TfcPanel(Controls[i]).Frame.FocusStyle := efsFrameEtched
  78.        else if ((Sender as TfcTreeCombo).Text = 'Bump') then
  79.           TfcPanel(Controls[i]).Frame.FocusStyle := efsFrameBump
  80.      end;
  81.   end;
  82.   lastpanel.setfocus;
  83. end;
  84. procedure TPanel2DemoForm.fcPanel2Enter(Sender: TObject);
  85. var l:TfcLabel;
  86. begin
  87.   l :=  FindComponent('fcLabel'+IntToStr((Sender as TfcPanel).Tag)) as TfcLabel;
  88.   if l<>nil then l.Font.Color := clRed;
  89. end;
  90. procedure TPanel2DemoForm.fcPanel2Exit(Sender: TObject);
  91. var l:TfcLabel;
  92. begin
  93.   l :=  FindComponent('fcLabel'+IntToStr((Sender as TfcPanel).Tag)) as TfcLabel;
  94.   if l<>nil then l.Font.Color := clWindowText;
  95.   lastPanel := Sender as TfcPanel;
  96. end;
  97. procedure TPanel2DemoForm.fcColorList1Click(Sender: TObject);
  98. var i:integer;
  99. begin
  100.   for i:= 0 to Controlcount-1 do
  101.      if (Controls[i] is TfcPanel) then
  102.         TfcPanel(Controls[i]).Color := fcColorList1.SelectedColor;
  103.   lastpanel.setfocus;
  104. end;
  105. procedure TPanel2DemoForm.fcColorList2Click(Sender: TObject);
  106. var i:integer;
  107. begin
  108.   for i:= 0 to Controlcount-1 do
  109.      if (Controls[i] is TfcPanel) then begin
  110.         TfcPanel(Controls[i]).Frame.NonFocusColor := fcColorList2.SelectedColor;
  111.         TfcPanel(Controls[i]).invalidate;
  112.      end;
  113.   lastpanel.setfocus;
  114. end;
  115. procedure TPanel2DemoForm.FormShow(Sender: TObject);
  116. begin
  117.   fcGroupBox1.FullBorder := True;
  118.   Edit1.SetFocus;
  119. end;
  120. procedure TPanel2DemoForm.CheckBox1Click(Sender: TObject);
  121. var i:integer;
  122. begin
  123.   for i:= 0 to Controlcount-1 do
  124.      if (Controls[i] is TfcPanel) then begin
  125.         TfcPanel(Controls[i]).Transparent := Checkbox1.checked;
  126.         TfcPanel(Controls[i]).invalidate;
  127.      end;
  128.   lastpanel.setfocus;
  129.   if Checkbox1.Checked then fcStatusBar1.Panels[0].Text := 'Focus/NonFocus Colors ignored when Transparent'
  130.   else fcStatusBar1.Panels[0].Text := '';
  131. end;
  132. end.