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

📄 dbchemtx.pas

📁 C++编写的曲线拟合例子
💻 PAS
字号:
unit Dbchemtx;


interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, DBCtrls;

type
  TDBChemText = class(TDBText)
  private
    { Private declarations }
    procedure DoDrawChemText(var Rect: TRect; Flags: Word);
  protected
    { Protected declarations }
    procedure Paint;override;
  public
    { Public declarations }
  published
    { Published declarations }
  end;

  TChemLabel = class(TLabel)
  private
    { Private declarations }
    procedure DoDrawChemText(var Rect: TRect; Flags: Word);
  protected
    { Protected declarations }
    procedure Paint;override;
  public
    { Public declarations }
  published
    { Published declarations }
  end;

procedure Register;


implementation
uses ChemTxt;

procedure TDBChemText.DoDrawChemText(var Rect: TRect; Flags: Word);
begin
  Canvas.Font := Font;
  if not Enabled then Canvas.Font.Color := clGrayText;
  ChemTextOut(Canvas,  Rect, Rect.Left, Rect.Top, Caption);
end;

procedure TDBChemText.Paint;
const
  Alignments: array[TAlignment] of Word = (DT_LEFT, DT_RIGHT, DT_CENTER);
var
  Rect: TRect;
begin
  with Canvas do
  begin
    if not Transparent then
    begin
      Brush.Color := Self.Color;
      Brush.Style := bsSolid;
      FillRect(ClientRect);
    end;
    Brush.Style := bsClear;
    Rect := ClientRect;
    DoDrawChemText(Rect, (DT_EXPANDTABS or DT_WORDBREAK) or
      Alignments[Alignment]);
  end;
end;

procedure TChemLabel.DoDrawChemText(var Rect: TRect; Flags: Word);
begin
  Canvas.Font := Font;
  if not Enabled then Canvas.Font.Color := clGrayText;
  ChemTextOut(Canvas,  Rect, Rect.Left, Rect.Top, Caption);
end;

procedure TChemLabel.Paint;
const
  Alignments: array[TAlignment] of Word = (DT_LEFT, DT_RIGHT, DT_CENTER);
var
  Rect: TRect;
begin
  with Canvas do
  begin
    if not Transparent then
    begin
      Brush.Color := Self.Color;
      Brush.Style := bsSolid;
      FillRect(ClientRect);
    end;
    Brush.Style := bsClear;
    Rect := ClientRect;
    DoDrawChemText(Rect, (DT_EXPANDTABS or DT_WORDBREAK) or
      Alignments[Alignment]);
  end;
end;

procedure Register;
begin
  RegisterComponents('Sp Controls', [TDBChemText, TChemLabel]);
end;

end.

⌨️ 快捷键说明

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