Componentes.Terceros.DevExp.../official/x.38/ExpressVerticalGrid/Demos/Delphi/Common/DemoBasicMain.pas
2008-08-27 11:56:15 +00:00

182 lines
4.8 KiB
ObjectPascal

unit DemoBasicMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, cxControls, cxLookAndFeels, ActnList, ImgList, Menus, ComCtrls,
StdCtrls;
type
TDemoBasicMainForm = class(TForm)
mmMain: TMainMenu;
miAbout: TMenuItem;
miHelp: TMenuItem;
miDeveloperExpressontheweb: TMenuItem;
miForum: TMenuItem;
miDownloads: TMenuItem;
miSeparator4: TMenuItem;
miGridHelp: TMenuItem;
miProducts: TMenuItem;
miSeparator3: TMenuItem;
ilMain: TImageList;
alMain: TActionList;
actHelp: TAction;
actProducts: TAction;
actDownloads: TAction;
actForum: TAction;
actDXOnTheWeb: TAction;
actAbout: TAction;
miFile: TMenuItem;
miOptions: TMenuItem;
miExit: TMenuItem;
actExit: TAction;
sbMain: TStatusBar;
lbDescrip: TLabel;
actShowDemoDescription: TAction;
miShowDemoDescription: TMenuItem;
cxLookAndFeelController: TcxLookAndFeelController;
miRate: TMenuItem;
actRateDemo: TAction;
memAboutText: TMemo;
actMyDevExpress: TAction;
actMyDevExpress1: TMenuItem;
miLookFeel: TMenuItem;
Kind1: TMenuItem;
miFlat: TMenuItem;
miStandard: TMenuItem;
miUltraFlat: TMenuItem;
miNativeStyle: TMenuItem;
miSeparator: TMenuItem;
miOffice11: TMenuItem;
procedure actProductsExecute(Sender: TObject);
procedure actDownloadsExecute(Sender: TObject);
procedure actForumExecute(Sender: TObject);
procedure actDXOnTheWebExecute(Sender: TObject);
procedure actExitExecute(Sender: TObject);
procedure actShowDemoDescriptionExecute(Sender: TObject);
procedure actHelpExecute(Sender: TObject);
procedure actRateDemoExecute(Sender: TObject);
procedure actAboutExecute(Sender: TObject);
procedure actMyDevExpressExecute(Sender: TObject);
procedure LookAndFeelChange(Sender: TObject);
protected
procedure AdjustAboutText(AAboutText: TStrings); virtual;
procedure ShowAbout(AModal, AOnTop: Boolean); virtual;
end;
var
DemoBasicMainForm: TDemoBasicMainForm;
implementation
uses DemoBasicAbout, cxClasses, DemoRating;
{$R *.dfm}
procedure TDemoBasicMainForm.actProductsExecute(Sender: TObject);
begin
OpenWebPage('http://www.devexpress.com/products/index.asp');
end;
procedure TDemoBasicMainForm.actDownloadsExecute(Sender: TObject);
begin
OpenWebPage('http://www.devexpress.com/downloads/index.asp');
end;
procedure TDemoBasicMainForm.actForumExecute(Sender: TObject);
begin
OpenWebPage('http://24.234.251.34/dxforum/dxforumisapi.dll/');
end;
procedure TDemoBasicMainForm.actDXOnTheWebExecute(
Sender: TObject);
begin
OpenWebPage('http://www.devexpress.com/index.shtm');
end;
procedure TDemoBasicMainForm.actMyDevExpressExecute(Sender: TObject);
begin
OpenWebPage('http://www.mydevexpress.com');
end;
procedure TDemoBasicMainForm.actExitExecute(Sender: TObject);
begin
Close;
end;
procedure TDemoBasicMainForm.actShowDemoDescriptionExecute(
Sender: TObject);
begin
lbDescrip.Visible := not lbDescrip.Visible;
TCustomAction(Sender).Checked := not TCustomAction(Sender).Checked;
end;
procedure TDemoBasicMainForm.actHelpExecute(Sender: TObject);
begin
with Application do
begin
HelpFile := '..\..\Help\cxVertGrid.hlp';
HelpCommand(HELP_FINDER, 0);
end;
end;
procedure TDemoBasicMainForm.AdjustAboutText(AAboutText: TStrings);
begin
AAboutText.Assign(memAboutText.Lines);
end;
procedure TDemoBasicMainForm.actRateDemoExecute(Sender: TObject);
begin
with TDemoRatingForm.Create(Self) do
try
ShowModal;
finally
Free;
end;
end;
procedure TDemoBasicMainForm.ShowAbout(AModal, AOnTop: Boolean);
begin
if not Assigned(DemoBasicAboutForm) then
DemoBasicAboutForm := TDemoBasicAboutForm.Create(Application);
with DemoBasicAboutForm do
begin
AdjustAboutText(reDemoInfo.Lines);
lbDemoName.Caption := ChangeFileExt(ExtractFileName(Application.ExeName),'');
if AOnTop then
FormStyle := fsStayOnTop
else
FormStyle := fsNormal;
if AModal then
ShowModal
else
Show;
end;
end;
procedure TDemoBasicMainForm.actAboutExecute(Sender: TObject);
begin
ShowAbout(True, False);
end;
procedure TDemoBasicMainForm.LookAndFeelChange(Sender: TObject);
begin
if TMenuItem(Sender).Tag > 3 then
begin
cxLookAndFeelController.NativeStyle :=
not cxLookAndFeelController.NativeStyle;
TMenuItem(Sender).Checked := cxLookAndFeelController.NativeStyle;
end
else
begin
TMenuItem(Sender).Checked := True;
cxLookAndFeelController.Kind := TcxLookAndFeelKind(TMenuItem(Sender).Tag);
cxLookAndFeelController.NativeStyle := False;
miNativeStyle.Checked := False;
end;
end;
end.