www.pudn.com > FeaturesDemo.rar > FeaturesDemoMain.pas
unit FeaturesDemoMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ImgList, ExtCtrls, ComCtrls, cxPC, cxLookAndFeels,
Menus, Buttons, jpeg, Grids, DBGrids, FileCtrl, DB, DBTables, DBCtrls,
cxControls;
type
TFeaturesDemoMainForm = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
Exit1: TMenuItem;
cxPageControl1: TcxPageControl;
SingleLineSheet: TcxTabSheet;
MultiLineSheet: TcxTabSheet;
Panel2: TPanel;
Panel3: TPanel;
Panel1: TPanel;
cxPageControl2: TcxPageControl;
cxTabSheet1: TcxTabSheet;
cxTabSheet2: TcxTabSheet;
cxTabSheet3: TcxTabSheet;
cxTabSheet4: TcxTabSheet;
cxTabSheet5: TcxTabSheet;
cxTabSheet6: TcxTabSheet;
cxTabSheet7: TcxTabSheet;
Memo1: TMemo;
cxTabSheet8: TcxTabSheet;
cxTabSheet9: TcxTabSheet;
PaintBox1: TPaintBox;
cxTabSheet10: TcxTabSheet;
SpeedButton1: TSpeedButton;
Label1: TLabel;
HotTrackCheckBox: TCheckBox;
ComboBox1: TComboBox;
Label2: TLabel;
GoDialogCheckBox: TCheckBox;
ShowFrameCheckBox: TCheckBox;
HideTabsCheckBox: TCheckBox;
Panel4: TPanel;
Panel5: TPanel;
SpeedButton2: TSpeedButton;
Label3: TLabel;
Label4: TLabel;
HotTrackCheckBox1: TCheckBox;
ComboBox2: TComboBox;
ShowFrameCheckBox1: TCheckBox;
Panel6: TPanel;
cxPageControl3: TcxPageControl;
cxTabSheet11: TcxTabSheet;
RichEdit6: TRichEdit;
cxTabSheet12: TcxTabSheet;
cxTabSheet13: TcxTabSheet;
cxTabSheet14: TcxTabSheet;
cxTabSheet15: TcxTabSheet;
cxTabSheet16: TcxTabSheet;
cxTabSheet17: TcxTabSheet;
Memo2: TMemo;
cxTabSheet18: TcxTabSheet;
cxTabSheet19: TcxTabSheet;
cxTabSheet20: TcxTabSheet;
RaggedRightCheckBox: TCheckBox;
ScrollOppositeCheckBox: TCheckBox;
FixedTabsCheckBox: TCheckBox;
FixedTabsCheckBox1: TCheckBox;
ImageList1: TImageList;
Label5: TLabel;
ShowImagesCheckBox: TCheckBox;
ShowImagesCheckBox1: TCheckBox;
Image1: TImage;
Image2: TImage;
RichEdit1: TRichEdit;
Image3: TImage;
Panel7: TPanel;
Label6: TLabel;
Memo3: TMemo;
Panel8: TPanel;
Panel9: TPanel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
TrackBar4: TTrackBar;
TrackBar5: TTrackBar;
TrackBar6: TTrackBar;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Timer1: TTimer;
Panel11: TPanel;
PaintBox2: TPaintBox;
Panel12: TPanel;
Image5: TImage;
Panel13: TPanel;
Label38: TLabel;
Memo4: TMemo;
Panel14: TPanel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Label51: TLabel;
TrackBar3: TTrackBar;
TrackBar2: TTrackBar;
TrackBar1: TTrackBar;
PaintBox3: TPaintBox;
DBNavigator1: TDBNavigator;
DBImage1: TDBImage;
Table1: TTable;
DataSource1: TDataSource;
cxLookAndFeelController1: TcxLookAndFeelController;
DataSource2: TDataSource;
Table2: TTable;
PaintBox4: TPaintBox;
DBImage: TDBImage;
DBNavigator: TDBNavigator;
DirectoryListBox1: TDirectoryListBox;
DirectoryListBox2: TDirectoryListBox;
procedure FixedTabsCheckBoxClick(Sender: TObject);
procedure ComboBox2Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure HotTrackCheckBoxClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GoDialogCheckBoxClick(Sender: TObject);
procedure ShowFrameCheckBoxClick(Sender: TObject);
procedure HideTabsCheckBoxClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ScrollOppositeCheckBoxClick(Sender: TObject);
procedure RaggedRightCheckBoxClick(Sender: TObject);
procedure ShowImagesCheckBoxClick(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure PaintBoxPaint(Sender: TObject);
procedure PaintBox3Paint(Sender: TObject);
procedure PaintBox4Paint(Sender: TObject);
procedure TrackBarChange(Sender: TObject);
// procedure Timer1Timer(Sender: TObject);
private
procedure AdjustColor;
procedure AdjustColor1;
procedure SetHorizontalText();
procedure SetVerticalText();
procedure SynchronizeCheckBoxes;
end;
var
FeaturesDemoMainForm: TFeaturesDemoMainForm;
implementation
uses
cxPCPainters;
{$R *.dfm}
{$R WindowsXP.res}
(*procedure TFeaturesDemoMainForm.ComboBox1Change(Sender: TObject);
var
NewStyleName: TCaption;
begin
with ComboBox1 do
NewStyleName ::= Items[ItemIndex];
cxPageControl1.SetStyleByStyleName(NewStyleName);
SynchronizeCheckBoxes;
end;
procedure TFeaturesDemoMainForm.ShowFrameCheckBoxClick(Sender: TObject);
begin
cxPageControl1.ShowFrame ::= ShowFrameCheckBox.Checked;
end;
procedure TFeaturesDemoMainForm.HideTabsCheckBoxClick(Sender: TObject);
begin
cxPageControl1.HideTabs ::= HideTabsCheckBox.Checked;
end;
procedure TFeaturesDemoMainForm.SynchronizeCheckBoxes;
var
StyleName: TCaption;
begin
with ComboBox1 do
StyleName ::= Items[ItemIndex];
ShowFrameCheckBox.Enabled ::= (StyleName := 'Buttons') or (StyleName := 'FlatButtons');
ScrollOppositeCheckBox.Enabled ::= (not ShowFrameCheckBox.Enabled) and MultiLineCheckBox.Checked;
RaggedRightCheckBox.Enabled ::= MultiLineCheckBox.Checked;
end;
procedure TFeaturesDemoMainForm.UncheckMenuItems;
begin
Flat1.Checked ::= False;
Standard1.Checked ::= False;
Ultraflat1.Checked ::= False;
end;
procedure TFeaturesDemoMainForm.FormCreate(Sender: TObject);
begin
SynchronizeCheckBoxes;
end;
procedure TFeaturesDemoMainForm.HotTrackCheckBoxClick(Sender: TObject);
begin
cxPageControl1.HotTrack ::= HotTrackCheckBox.Checked;
end;
procedure TFeaturesDemoMainForm.Button1Click(Sender: TObject);
procedure SetHorizontalText;
begin
with cxPageControl1 do
begin
Options ::= Options - [pcoTopToBottomText];
Rotate ::= TabPosition in [tpLeft, tpRight];
end;
end;
procedure SetVerticalText;
begin
with cxPageControl1 do
Rotate ::= TabPosition in [tpTop, tpBottom];
end;
begin
with cxPageControl1 do
begin
if IsVerticalText(cxPageControl1) then
if pcoTopToBottomText in Options then
begin
if TabPosition := High(TcxTabPosition) then
TabPosition ::= Low(TcxTabPosition)
else
TabPosition ::= Succ(TabPosition);
SetHorizontalText;
end
else Options ::= Options + [pcoTopToBottomText]
else
SetVerticalText;
end;
end;
procedure TFeaturesDemoMainForm.MultiLineCheckBoxClick(Sender: TObject);
begin
cxPageControl1.MultiLine ::= MultiLineCheckBox.Checked;
SynchronizeCheckBoxes;
end;
procedure TFeaturesDemoMainForm.RaggedRightCheckBoxClick(Sender: TObject);
begin
cxPageControl1.RaggedRight ::= RaggedRightCheckBox.Checked;
end;
procedure TFeaturesDemoMainForm.ScrollOppositeCheckBoxClick(Sender: TObject);
begin
cxPageControl1.ScrollOpposite ::= ScrollOppositeCheckBox.Checked;
end;
procedure TFeaturesDemoMainForm.CheckBox1Click(Sender: TObject);
begin
with cxPageControl1 do
if CheckBox1.Checked then
begin
TabWidth ::= 80;
TabHeight ::= 50;
end else
begin
TabWidth ::= 0;
TabHeight ::= 0;
end;
end;
procedure TFeaturesDemoMainForm.Timer1Timer(Sender: TObject);
var
P1, P2: TPoint;
begin
with PaintBox1 do
begin
P1.X ::= Random(Width);
P2.X ::= Random(Width);
P1.Y ::= Random(Height);
P2.Y ::= Random(Height);
Canvas.Polyline([P1, P2]);
end;
end;
procedure TFeaturesDemoMainForm.GoDialogCheckBoxClick(Sender: TObject);
begin
with cxPageControl1 do
if GoDialogCheckBox.Checked then
Options ::= Options + [pcoGoDialog]
else
Options ::= Options - [pcoGoDialog];
end;
procedure TFeaturesDemoMainForm.Timer2Timer(Sender: TObject);
begin
// HotTrackCheckBox.Checked ::= False;
end;
procedure TFeaturesDemoMainForm.NativeStyle1Click(Sender: TObject);
begin
NativeStyle1.Checked ::= not NativeStyle1.Checked;
cxPageControl1.LookAndFeel.NativeStyle ::= NativeStyle1.Checked;
end;
procedure TFeaturesDemoMainForm.Flat1Click(Sender: TObject);
begin
UncheckMenuItems;
Flat1.Checked ::= True;
cxPageControl1.LookAndFeel.Kind ::= lfFlat;
end;
procedure TFeaturesDemoMainForm.Standard1Click(Sender: TObject);
begin
UncheckMenuItems;
Standard1.Checked ::= True;
cxPageControl1.LookAndFeel.Kind ::= lfStandard;
end;
procedure TFeaturesDemoMainForm.Ultraflat1Click(Sender: TObject);
begin
UncheckMenuItems;
Ultraflat1.Checked ::= True;
cxPageControl1.LookAndFeel.Kind ::= lfUltraFlat;
end;
procedure TFeaturesDemoMainForm.Exit1Click(Sender: TObject);
begin
Close;
end;*)
{ TFeaturesDemoMainForm }
procedure TFeaturesDemoMainForm.ComboBox2Click(Sender: TObject);
var
AComboBox: TComboBox;
begin
AComboBox := TComboBox(Sender);
if AComboBox.Text = 'XP' then
begin
cxPageControl2.LookAndFeel.NativeStyle := True;
cxPageControl2.Style := cxPCTabsStyle;
cxPageControl3.LookAndFeel.NativeStyle := True;
cxPageControl3.Style := cxPCTabsStyle;
end else
begin
cxPageControl2.LookAndFeel.NativeStyle := False;
cxPageControl2.SetStyleByStyleName(AComboBox.Text);
cxPageControl3.LookAndFeel.NativeStyle := False;
cxPageControl3.SetStyleByStyleName(AComboBox.Text);
end;
if Sender = ComboBox1 then ComboBox2.ItemIndex := ComboBox1.ItemIndex
else ComboBox1.ItemIndex := ComboBox2.ItemIndex;
SynchronizeCheckBoxes;
end;
procedure TFeaturesDemoMainForm.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TFeaturesDemoMainForm.FixedTabsCheckBoxClick(Sender: TObject);
begin
if FixedTabsCheckBox.Checked then
begin
cxPageControl2.TabWidth := 80;
cxPageControl2.TabHeight := 50;
end else
begin
cxPageControl2.TabWidth := 0;
cxPageControl2.TabHeight := 0;
end;
cxPageControl3.TabWidth := cxPageControl2.TabWidth;
cxPageControl3.TabHeight := cxPageControl2.TabHeight;
if Sender = FixedTabsCheckBox then FixedTabsCheckBox1.Checked := FixedTabsCheckBox.Checked
else FixedTabsCheckBox.Checked := FixedTabsCheckBox1.Checked;
end;
procedure TFeaturesDemoMainForm.FormCreate(Sender: TObject);
function CreateTabControl(AControl: TWinControl): TcxPageControl;
var
I: Integer;
ATabSheet: TcxTabSheet;
begin
Result := TcxPageControl.Create(AControl);
with Result do
begin
Parent := AControl;
Align := alClient;
for I := 1 to 10 do
begin
ATabSheet := TcxTabSheet.Create(Result);
ATabSheet.Caption := IntToStr(I);
ATabSheet.PageControl := Result;
end;
end;
end;
var
I: Integer;
ATabControl: TcxPageControl;
begin
SynchronizeCheckBoxes;
ATabControl := CreateTabControl(cxTabSheet10);
for I := 1 to 3 do
ATabControl := CreateTabControl(ATabControl.Pages[0]);
ATabControl := CreateTabControl(cxTabSheet20);
for I := 1 to 3 do
ATabControl := CreateTabControl(ATabControl.Pages[0]);
end;
procedure TFeaturesDemoMainForm.FormShow(Sender: TObject);
begin
ComboBox1.ItemIndex := 3;
ComboBox2.ItemIndex := 3;
Panel1.Color := cxPCLightBrushColor;
end;
procedure TFeaturesDemoMainForm.GoDialogCheckBoxClick(Sender: TObject);
begin
if GoDialogCheckBox.Checked then
cxPageControl2.Options := cxPageControl2.Options + [pcoGoDialog]
else
cxPageControl2.Options := cxPageControl2.Options - [pcoGoDialog];
cxPageControl3.Options := cxPageControl2.Options;
end;
procedure TFeaturesDemoMainForm.HideTabsCheckBoxClick(Sender: TObject);
begin
cxPageControl2.HideTabs := HideTabsCheckBox.Checked;
cxPageControl3.HideTabs := HideTabsCheckBox.Checked;
end;
procedure TFeaturesDemoMainForm.HotTrackCheckBoxClick(Sender: TObject);
begin
if Sender = HotTrackCheckBox then
HotTrackCheckBox1.Checked := HotTrackCheckBox.Checked
else
HotTrackCheckBox.Checked := HotTrackCheckBox1.Checked;
cxPageControl2.HotTrack := HotTrackCheckBox.Checked;
cxPageControl3.HotTrack := HotTrackCheckBox.Checked;
end;
procedure TFeaturesDemoMainForm.RaggedRightCheckBoxClick(Sender: TObject);
begin
cxPageControl3.RaggedRight := RaggedRightCheckBox.Checked;
end;
procedure TFeaturesDemoMainForm.ScrollOppositeCheckBoxClick(
Sender: TObject);
begin
cxPageControl3.ScrollOpposite := ScrollOppositeCheckBox.Checked;
end;
procedure TFeaturesDemoMainForm.ShowFrameCheckBoxClick(Sender: TObject);
begin
cxPageControl2.ShowFrame := ShowFrameCheckBox.Checked;
cxPageControl3.ShowFrame := ShowFrameCheckBox.Checked;
if Sender = ShowFrameCheckBox then
ShowFrameCheckBox1.Checked := ShowFrameCheckBox.Checked
else
ShowFrameCheckBox.Checked := ShowFrameCheckBox1.Checked;
end;
procedure TFeaturesDemoMainForm.ShowImagesCheckBoxClick(Sender: TObject);
begin
if ShowImagesCheckBox.Checked then
begin
cxPageControl2.Images := ImageList1;
cxPageControl3.Images := ImageList1;
end else
begin
cxPageControl2.Images := nil;
cxPageControl3.Images := nil;
end;
if Sender = ShowImagesCheckBox then
ShowImagesCheckBox1.Checked := ShowImagesCheckBox.Checked
else
ShowImagesCheckBox.Checked := ShowImagesCheckBox1.Checked;
end;
procedure TFeaturesDemoMainForm.SpeedButton1Click(Sender: TObject);
begin
if IsVerticalText(cxPageControl2) then
if pcoTopToBottomText in cxPageControl2.Options then
begin
if cxPageControl2.TabPosition = tpRight then
begin
cxPageControl2.TabPosition := tpTop;
cxPageControl3.TabPosition := tpTop;
end else
begin
cxPageControl2.TabPosition := TcxTabPosition(Integer(cxPageControl2.TabPosition) + 1);
cxPageControl3.TabPosition := cxPageControl2.TabPosition;
end;
SetHorizontalText;
end else
begin
cxPageControl2.Options := cxPageControl2.Options + [pcoTopToBottomText];
cxPageControl3.Options := cxPageControl3.Options + [pcoTopToBottomText];
end
else
SetVerticalText();
end;
procedure TFeaturesDemoMainForm.SynchronizeCheckBoxes;
begin
ShowFrameCheckBox.Enabled := (ComboBox1.Text = 'Buttons') or (ComboBox1.Text = 'FlatButtons');
ShowFrameCheckBox1.Enabled := ShowFrameCheckBox.Enabled;
ScrollOppositeCheckBox.Enabled := not ShowFrameCheckBox.Enabled;
end;
procedure TFeaturesDemoMainForm.AdjustColor;
begin
PaintBox4.Color := TrackBar1.Position + TrackBar2.Position * 256 + TrackBar3.Position * 65536;
PaintBox4.Invalidate;
end;
procedure TFeaturesDemoMainForm.AdjustColor1;
begin
PaintBox3.Color := TrackBar4.Position + TrackBar5.Position * 256 + TrackBar6.Position * 65536;
PaintBox3.Invalidate;
end;
procedure TFeaturesDemoMainForm.SetHorizontalText;
begin
cxPageControl2.Options := cxPageControl2.Options - [pcoTopToBottomText];
cxPageControl3.Options := cxPageControl3.Options - [pcoTopToBottomText];
cxPageControl2.Rotate := cxPageControl2.TabPosition in [tpLeft, tpRight];
cxPageControl3.Rotate := cxPageControl2.Rotate;
end;
procedure TFeaturesDemoMainForm.SetVerticalText;
begin
cxPageControl2.Rotate := cxPageControl2.TabPosition in [tpTop, tpBottom];
cxPageControl3.Rotate := cxPageControl2.Rotate;
end;
procedure TFeaturesDemoMainForm.TrackBar1Change(Sender: TObject);
begin
AdjustColor1;
end;
procedure TFeaturesDemoMainForm.Timer1Timer(Sender: TObject);
begin
PaintBoxPaint(PaintBox1);
PaintBoxPaint(PaintBox2);
end;
procedure TFeaturesDemoMainForm.PaintBoxPaint(Sender: TObject);
var
X1, Y1, X2, Y2: Integer;
A: Integer;
begin
with TPaintBox(Sender) do
begin
X1 := Random(Width);
X2 := Random(Width);
if X1 > X2 then
begin
A := X1;
X1 := X2;
X2 := A;
end;
Y1 := Random(Height);
Y2 := Random(Height);
if Y1 > Y2 then
begin
A := Y1;
Y1 := Y2;
Y2 := A;
end;
Canvas.Brush.Color := Random(65536 * 256);
Canvas.Rectangle(X1, Y1, X2, Y2);
end;
end;
procedure TFeaturesDemoMainForm.PaintBox3Paint(Sender: TObject);
begin
with PaintBox3 do
begin
Canvas.Brush.Color := Color;
Canvas.FillRect(Rect(0, 0, Width, Height));
end;
end;
procedure TFeaturesDemoMainForm.PaintBox4Paint(Sender: TObject);
begin
with PaintBox4 do
begin
Canvas.Brush.Color := Color;
Canvas.FillRect(Rect(0, 0, Width, Height));
end;
end;
procedure TFeaturesDemoMainForm.TrackBarChange(Sender: TObject);
begin
AdjustColor;
end;
end.