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.