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

📄 editorsstylesdemonotebook.pas

📁 DevExpress ExpressQuantumGrid Suite v5.9 Full Source
💻 PAS
字号:
unit EditorsStylesDemoNoteBook;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, EditorsStylesDemoBase, cxColorComboBox, cxDropDownEdit,
  cxFontNameComboBox, cxGroupBox, cxLabel, cxMemo, cxDBEdit, cxControls,
  cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxCalendar, Menus,
  cxPropertiesStore, cxDBColorComboBox, DB, cxDBFontNameComboBox,
  cxNavigator, cxSplitter, ExtCtrls, cxSpinEdit, cxSpinButton, cxStyles,
  cxCustomData, cxGraphics, cxFilter, cxData, cxDBData, cxClasses, cxImage,
  cxDBNavigator;

type
  TSpiralImageControl = class (TcxControl)
  private
    FBitmap: TBitmap;
  protected
    procedure Paint; override;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    property Bitmap: TBitmap read FBitmap write FBitmap;
  end;

  TEditorsStylesDemoNoteBookFrame = class(TEditorsStylesDemoBaseFrame)
    cxGroupBox1: TcxGroupBox;
    lblNote: TcxLabel;
    cxGroupBox2: TcxGroupBox;
    cxGroupBox3: TcxGroupBox;
    pnSpiral: TPanel;
    dbmText: TcxDBMemo;
    gbDescriptionControls: TcxGroupBox;
    cxFontNameComboBox: TcxFontNameComboBox;
    cxSpinEdit: TcxSpinEdit;
    gbFont: TcxGroupBox;
    lbNoteFontColor: TcxLabel;
    cbFontName: TcxDBFontNameComboBox;
    cbFontColor: TcxDBColorComboBox;
    lbTextSize: TcxLabel;
    seTextSize: TcxDBSpinEdit;
    lbBkGround: TcxLabel;
    cbBkTextColor: TcxDBColorComboBox;
    cxLabel2: TcxLabel;
    lblDate: TcxLabel;
    cxLabel1: TcxLabel;
    cxDBDateEdit1: TcxDBDateEdit;
    cxDBTextEdit1: TcxDBTextEdit;
    cxDBNavigator1: TcxDBNavigator;
    cxImage1: TcxImage;
    procedure dsNoteBookDataChange(Sender: TObject; Field: TField);
    procedure tblNoteBookAfterScroll(DataSet: TDataSet);
    procedure cxSpinEditPropertiesChange(Sender: TObject);
    procedure cxFontNameComboBoxPropertiesChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    FSpiralImageControl: TSpiralImageControl;
  public
    constructor Create(AOwner: TComponent); override;
    procedure ChangeDisplayStyle(ADisplayStyle: TcxStyleSheetType); override;
    function ShowControlsAboveDescription: Boolean; override;
    function Name: string; override;
    function BriefName: string; override;
    function StylesIniPath: string; override;
    function Description: String; override;
  end;

var
  EditorsStylesDemoNoteBookFrame: TEditorsStylesDemoNoteBookFrame;

implementation

uses EditorsStylesDemoData;

{$R *.dfm}

{ TEditorsStylesDemoNoteBookFrame }

constructor TEditorsStylesDemoNoteBookFrame.Create(AOwner: TComponent);
var
  ABitmap: TBitmap;
begin
  inherited Create(AOwner);
  cbFontColor.Properties.PrepareDelphiColorList(False, False);
  cbBkTextColor.Properties.PrepareDelphiColorList(False, False);
  HintStyle := hcstRoundedInfo;
  FDisplayStyle := shtWood;
  FTempDisplayStyle := shtWood;

  FSpiralImageControl := TSpiralImageControl.Create(Self);
  FSpiralImageControl.Parent := pnSpiral;
  FSpiralImageControl.Align := alClient;
  FSpiralImageControl.Bitmap.Width :=  pnSpiral.Width;
  FSpiralImageControl.Bitmap.Height :=  25;
  ABitmap := TBitmap.Create;
  try
    ABitmap.LoadFromFile(StylesIniPath + 'scWood.bmp');
    FSpiralImageControl.Bitmap.Canvas.StretchDraw(FSpiralImageControl.Bitmap.Canvas.ClipRect, ABitmap);
  finally
    ABitmap.Free;
  end;
  cxFontNameComboBox.EditValue := 'MS Sans Serif';
end;

procedure TEditorsStylesDemoNoteBookFrame.dsNoteBookDataChange(Sender: TObject;
  Field: TField);
begin
  with EditorsStylesDemoDataDM do
  begin
    if Field = tblNoteBookNoteFont then
      dbmText.Style.Font.Name := tblNoteBookNoteFont.Value else
    if Field = tblNoteBookNoteFontColor then
      dbmText.Style.Font.Color := tblNoteBookNoteFontColor.Value else
    if Field = tblNoteBookNOTETEXTSIZE then
      dbmText.Style.Font.Size := tblNoteBookNOTETEXTSIZE.Value else
    if Field = tblNoteBookNOTETEXTBKCOLOR then
      dbmText.Style.Color := tblNoteBookNOTETEXTBKCOLOR.Value;
  end;
end;

procedure TEditorsStylesDemoNoteBookFrame.tblNoteBookAfterScroll(
  DataSet: TDataSet);
begin
  if DataSet.State = dsInsert then
  begin
    dbmText.Style.Font.Color := 0;
    dbmText.Style.Font.Name := 'MS Sans Serif';
  end
  else
    with EditorsStylesDemoDataDM do
    begin
      dbmText.Style.Font.Color := tblNoteBookNoteFontColor.Value;
      dbmText.Style.Font.Name := tblNoteBookNoteFont.Value;
      dbmText.Style.Font.Size := tblNoteBookNOTETEXTSIZE.Value;
      dbmText.Style.Color := tblNoteBookNOTETEXTBKCOLOR.Value;
    end;
end;

function TEditorsStylesDemoNoteBookFrame.Name: string;
begin
  Result := 'Notebook';
end;

function TEditorsStylesDemoNoteBookFrame.BriefName: string;
begin
  Result := 'Notebook';
end;

function TEditorsStylesDemoNoteBookFrame.StylesIniPath: string;
begin
  Result := 'StylesFrmNoteBook\';
end;

function TEditorsStylesDemoNoteBookFrame.Description: String;
begin
  Result := 'Notebook Notes';
end;

function TEditorsStylesDemoNoteBookFrame.ShowControlsAboveDescription: Boolean;
begin
  Result := True;
end;

{ TSpiralImageControl }

constructor TSpiralImageControl.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FBitMap := TBitMap.Create;
end;

destructor TSpiralImageControl.Destroy;
begin
  FBitMap.Free;
  inherited;
end;

procedure TSpiralImageControl.Paint;
begin
  Canvas.FillRect(ClientRect, FBitMap);
end;

procedure TEditorsStylesDemoNoteBookFrame.ChangeDisplayStyle(
  ADisplayStyle: TcxStyleSheetType);
var
  sFileName: String;
  ABitmap: TBitmap;
begin
  inherited ChangeDisplayStyle(ADisplayStyle);
  case FTempDisplayStyle of
    shtLightBlue: sFileName := 'scLightBlue.bmp';
    shtLightGray: sFileName := 'scLightGray.bmp';
    shtWood: sFileName := 'scWood.bmp';
    shtRainyDay: sFileName := 'scRainyDay.bmp';
    shtBrick: sFileName := 'scBrick.bmp';
    shtDeepSea: sFileName := 'scDeepSea.bmp';
  end;
  ABitmap := TBitmap.Create;
  try
    ABitmap.LoadFromFile(StylesIniPath + sFileName);
    FSpiralImageControl.Bitmap.Canvas.StretchDraw(FSpiralImageControl.Bitmap.Canvas.ClipRect, ABitmap);
    FSpiralImageControl.Paint;
  finally
    ABitmap.Free;
  end;
end;

procedure TEditorsStylesDemoNoteBookFrame.cxSpinEditPropertiesChange(
  Sender: TObject);
begin
  memDescrip.Style.Font.Size := StrToInt(cxSpinEdit.Text);
end;

procedure TEditorsStylesDemoNoteBookFrame.cxFontNameComboBoxPropertiesChange(
  Sender: TObject);
begin
  memDescrip.Style.Font.Name := cxFontNameComboBox.EditValue;
end;

procedure TEditorsStylesDemoNoteBookFrame.FormShow(Sender: TObject);
begin
  EditorsStylesDemoDataDM.tblNoteBook.AfterScroll := tblNoteBookAfterScroll;
  EditorsStylesDemoDataDM.dsNoteBook.OnDataChange := dsNoteBookDataChange;
  tblNoteBookAfterScroll(EditorsStylesDemoDataDM.tblNoteBook);
end;

initialization
  EditorsStylesDemoFrameManager.RegisterFrameClass(TEditorsStylesDemoNoteBookFrame);

end.

⌨️ 快捷键说明

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