📄 colorselect.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 + -