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

📄 colorselect.pas

📁 本产品是开发LISTVIEW相关功能的可定制产品
💻 PAS
字号:
unit ColorSelect;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, Grids, Spin,DB,DBTables,MMsystem;

type
  TFrmSelectColor = class(TForm)
    GroupBox1: TGroupBox;
    ComboBox1: TComboBox;
    Panel1: TPanel;
    Edit1: TEdit;
    ComboBox2: TComboBox;
    ListView1: TListView;
    btnOk: TBitBtn;
    btnCancek: TBitBtn;
    SpinEdit1: TSpinEdit;
    Label1: TLabel;
    GroupBox2: TGroupBox;
    CheckPlaySound: TCheckBox;
    CustomShow: TCheckBox;
    CustomLogin: TCheckBox;
    edtWaitNum: TSpinEdit;
    Label25: TLabel;
    procedure btnCancekClick(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure btnOkClick(Sender: TObject);
    procedure FormCreate(Sender: TObject;var UserID:string);
    procedure FormShow(Sender: TObject);
    procedure CheckPlaySoundClick(Sender: TObject);
    procedure CustomShowClick(Sender: TObject);
    procedure CustomLoginClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure edtWaitNumKeyPress(Sender: TObject; var Key: Char);
    procedure edtWaitNumChange(Sender: TObject);
  private
    { Private declarations }
    FCheckNum : Integer;
    nCustomShow,nCustomLogin,nWaitNum:integer;
    procedure ShowDemo(BKColor,FontColor:TColor);  //将显示Demo控件颜色
  public
    { Public declarations }
  end;

var
  FrmSelectColor: TFrmSelectColor;

implementation

uses unCDefine, unCDM;

{$R *.dfm}

procedure TFrmSelectColor.ShowDemo(BKColor,FontColor:TColor);  //将显示Demo控件颜色
var i : integer;
    Form:TForm;
begin
   Form:=FrmSelectColor;
{//转换测试!
  str:='$00E10000';
  i:=strtoint(str);
  FontColor:=TColor(Format('%x', [i]));
  lvReportName.Color:=FontColor;
}
//  FontColor:=$00E10000;//
//  FontColor:=TColor($00E1FFFF);
//  BKColor:=$00D2E1C8;
//  BKColor:=TColor($00E4B841);
// $00E6F0E1淡绿底
//  FontColor:=$00C4FFFF;
  //clBlack;    //$00FFF0F0微紫底色
//  BKColor:=$00A08C64;铁青底色
//   $00FFF0E6//微兰底色
//  clWhite;
//  BKColor:=$00E8CAD5;
   for i:= 0 to Form.ComponentCount - 1 do 
    if(Form.Components[i].tag <100)then
      begin
        if (Form.Components[i] is TEdit) then
        begin
           (Form.Components[i] as TEdit).Color := BKColor;
           (Form.Components[i] as TEdit).Font.Color := FontColor;
        end;
        if (Form.Components[i] is TComboBox) then
          begin
           (Form.Components[i] as TComboBox).Color := BKColor;
           (Form.Components[i] as TComboBox).Font.Color := FontColor;
          end;
        if (Form.Components[i] is TListView) then
          begin
           (Form.Components[i] as TListView).Color := BKColor;
           (Form.Components[i] as TListView).Font.Color := FontColor;
          end;
        if (Form.Components[i] is TStringGrid) then
          begin
           (Form.Components[i] as TStringGrid).Color := BKColor;
           (Form.Components[i] as TStringGrid).Font.Color := FontColor;
          end;
        if (Form.Components[i] is TTreeView) then
          begin
           (Form.Components[i] as TTreeView).Color := BKColor;
           (Form.Components[i] as TTreeView).Font.Color := FontColor;
          end;
        if (Form.Components[i] is TSpinEdit) then
          begin
           (Form.Components[i] as TSpinEdit).Color := BKColor;
           (Form.Components[i] as TSpinEdit).Font.Color := FontColor;
          end;
        if (Form.Components[i] is TDateTimePicker) then
          begin
           (Form.Components[i] as TDateTimePicker).Color := BKColor;
           (Form.Components[i] as TDateTimePicker).Font.Color := FontColor;
          end;
        if (Form.Components[i] is TMonthCalendar) then
          begin
           (Form.Components[i] as TMonthCalendar).CalColors.MonthBackColor := BKColor;
           (Form.Components[i] as TMonthCalendar).CalColors.TextColor := FontColor;
          end;
          
      end;    
end;


procedure TFrmSelectColor.btnCancekClick(Sender: TObject);
begin
    close;
end;


procedure TFrmSelectColor.ComboBox1Click(Sender: TObject);
begin
   if ComboBox1.ItemIndex=-1 then exit;
{//可供选择的颜色
0:缺省Windows标准色调
1:黑色前景淡绿色背景
2:黑色前景铁青色背景
3:黑色前景淡蓝色背景
4:黑色前景淡紫色背景
5:米黄色前景铁青色背景
6:黑色前景微蓝色背景
7:黑色前景微绿色背景
8:黑色前景淡黄色背景
9:黑色前景微黄色背景

//6:主窗体标准色调报表黑色前景铁青背景
//7:主窗体标准色调报表米黄色前景铁青色背景}
   case ComboBox1.ItemIndex of
     0:ShowDemo(clWhite,clBlack);
     1:ShowDemo($00E6F0E1,clBlack);
     2:ShowDemo($00A08C64,clBlack);
     3:ShowDemo($00FFF0E6,clBlack);
     4:ShowDemo($00FFF0F0,clBlue);
     5:ShowDemo($00A08C64,$00C4FFFF);
     6:ShowDemo($00FFFAF0,clBlack);
     7:ShowDemo($00F0F5F0,clBlack);
     8:ShowDemo($00DBECEC,clBlack);
     9:ShowDemo($00FAFFFF,clBlack);
     else
       ShowDemo(clWhite,clBlack);
   end;
//$00E4F1F1
//     6:ShowDemo($00A08C64,clBlack);
//     7:ShowDemo($00A08C64,$00C4FFFF);
//   end;
{//转换测试!
  str:='$00E10000';
  i:=strtoint(str);
  FontColor:=TColor(Format('%x', [i]));
  lvReportName.Color:=FontColor;
}
//  FontColor:=$00E10000;//
//  FontColor:=TColor($00E1FFFF);
//  BKColor:=$00D2E1C8;
//  BKColor:=TColor($00E4B841);
// $00E6F0E1淡绿底
//  FontColor:=$00C4FFFF;
  //clBlack;    //$00FFF0F0微紫底色
//  BKColor:=$00A08C64;铁青底色
//   $00FFF0E6//微兰底色
//  clWhite;
end;

procedure TFrmSelectColor.ComboBox1KeyPress(Sender: TObject;
  var Key: Char);
begin
  Key := #0;
end;

procedure TFrmSelectColor.btnOkClick(Sender: TObject);
var qQryDB:TQuery;
    st:string;
begin
    if(sUserID<>'')then
    begin
       qQryDB:=TQuery.Create(nil);
       qQryDB.DatabaseName:=CDM.dbData.DatabaseName;
       qQryDB.SessionName:=CDM.dbData.SessionName;
       qQryDB.Close;
       qQryDB.Sql.Clear;
       qQryDB.sql.Add('SELECT COLORCASE,BPLAYSOUND,BCUSTOMSHOW,BCUSTOMLOGIN,WAITNUM FROM SFRJSHOWCOLOR WHERE'
          +' STAFFID='''+sUserID+'''');
       Try
           qQryDB.Open;
       except
           qQryDB.Close;
           qQryDB.Free;
           qQryDB:=nil;
       end;
       If CustomShow.Checked=True then
          nCustomShow:=1
       else
          nCustomShow:=0;
       If CustomLogin.Checked=True then
          nCustomLogin:=1
       else
          nCustomLogin:=0;
       If CheckPlaySound.Checked=True then
          bPlaySound:=1
       else
          bPlaySound:=0;
       nWaitNum:=edtWaitNum.Value;
       If qQryDB.eof then
       begin
           qQryDB.sql.clear;
           qQryDB.SQL.Add('INSERT INTO SFRJSHOWCOLOR(STAFFID,COLORCASE,BCUSTOMSHOW,BPLAYSOUND,BCUSTOMLOGIN,WAITNUM)'
           +' VALUES('''+sUserID+''','
           +IntToStr(ComboBox1.ItemIndex)+','+IntToStr(nCustomShow)+','+IntToStr(bPlaySound)+','+IntToStr(nCustomLogin)+','+IntToStr(nWaitNum)+')');
       end
       else
       begin
           qQryDB.sql.clear;
           qQryDB.SQL.Add('UPDATE SFRJSHOWCOLOR SET COLORCASE='+INTTOSTR(ComboBox1.ItemIndex)
           +',BCUSTOMSHOW='+IntToStr(nCustomShow)+',BPLAYSOUND='+IntToStr(bPlaySound)
           +',BCUSTOMLOGIN='+IntToStr(nCustomLogin)+',WAITNUM='+IntToStr(nWaitNum)
           +' WHERE  STAFFID='''+sUserID+'''');
       end;
       qQryDB.ExecSQL;
       qQryDB.Close;
       qQryDB.Free;
       qQryDB:=nil;
       ColorCase:=ComboBox1.ItemIndex;//主窗体参数
    end;
end;

procedure TFrmSelectColor.FormCreate(Sender: TObject;var UserID:string);
var qQryDB:TQuery;
begin
    sUserID:=UserID;
    FCheckNum := 0;
    bPlaySound:=0;
    if(sUserID<>'')then
    begin
       qQryDB:=TQuery.Create(nil);
       qQryDB.DatabaseName:=CDM.dbData.DatabaseName;
       qQryDB.SessionName:=CDM.dbData.SessionName;
       qQryDB.Close;
       qQryDB.Sql.Clear;
       qQryDB.sql.Add('SELECT COLORCASE,BPLAYSOUND,BCUSTOMSHOW,BCUSTOMLOGIN,WAITNUM FROM SFRJSHOWCOLOR WHERE'
          +' STAFFID='''+sUserID+'''');
       Try
           qQryDB.Open;
       except
           qQryDB.Close;
           qQryDB.Free;
           qQryDB:=nil;
           showmessage('数据库联接错误,请重新启动系统后重试!');
       end;
       qQryDB.First;
       Combobox1.ItemIndex:=0;
       if not qQryDB.Eof then
       begin
         Combobox1.ItemIndex:=qQryDB.FieldByName('COLORCASE').AsInteger;
         bPlaySound:=qQryDB.FieldByName('BPLAYSOUND').AsInteger;
         nCustomShow:=qQryDB.FieldByName('BCUSTOMSHOW').AsInteger;
         nCustomLogin:=qQryDB.FieldByName('BCUSTOMLOGIN').AsInteger;
         nWaitNum:=qQryDB.FieldByName('WAITNUM').AsInteger;
         edtWaitNum.Value :=nWaitNum;
         if bPlaySound>0 then
            CheckPlaySound.Checked:=True
         else
            CheckPlaySound.Checked:=False;
         if nCustomShow>0 then
            CustomShow.Checked:=True
         else
            CustomShow.Checked:=False;
         if nCustomLogin>0 then
            CustomLogin.Checked:=True
         else
            CustomLogin.Checked:=False;

       end;
       qQryDB.Close;
       qQryDB.Free;
       qQryDB:=nil;
    end;
end;

procedure TFrmSelectColor.FormShow(Sender: TObject);
begin
    ComboBox1Click(FrmSelectColor);
end;

procedure TFrmSelectColor.CheckPlaySoundClick(Sender: TObject);
begin
  FCheckNum := 1;
end;

procedure TFrmSelectColor.CustomShowClick(Sender: TObject);
begin
  FCheckNum := 1;
end;

procedure TFrmSelectColor.CustomLoginClick(Sender: TObject);
begin
  FCheckNum := 1;
end;

procedure TFrmSelectColor.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
//  if FCheckNum = 1 then//Deleted by dpd 2003-12-30
//    MessageBox(0,'系统的个性化设置发生了更改,请将程序重新启动后使之生效!','个性化设置提示',
//               MB_ICONINFORMATION+MB_OK);
end;

procedure TFrmSelectColor.edtWaitNumKeyPress(Sender: TObject;
  var Key: Char);
begin
  Key := #0;
end;

procedure TFrmSelectColor.edtWaitNumChange(Sender: TObject);
begin
  FCheckNum := 1;
end;

end.

⌨️ 快捷键说明

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