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

📄 customstatictext1.pas

📁 本图书管理系统一sql server为数据库开发平台
💻 PAS
字号:
unit customstaticText1;

interface

uses
  windows,SysUtils, Classes, Controls, StdCtrls,Graphics,messages,dialogs;

type
  Tstructormy = class(TStaticText)
  private
     titlebmp:Tbitmap;
     FFilename:string;
     logfonts:LOGFONT;
     Textfont:HFont;
    { Private declarations }
  protected
    procedure WMPAINT(var msg:TWMPAINT);message WM_PAINT;
    procedure WMACTIVATE(var msg:Tmessage);message WM_CHILDACTIVATE;
    procedure setfilename(const value:string);
    { Protected declarations }
  public
     constructor create(Aowner:Tcomponent);override;
     destructor destroy; override;
     procedure loadMyresource(var resource:Thandle;const name:string);
    { Public declarations }
  published
  property Filename:string read FFilename write setfilename;
    { Published declarations }
  end;

procedure Register;

implementation
procedure Tstructormy.WMACTIVATE(var msg:Tmessage);
begin
end;

procedure Tstructormy.setfilename(const value:string);
begin
   if (value <> FFilename) and (trim(value)<>'') then
      begin
       FFilename:=value;
      try
       Titlebmp.LoadFromFile(FFilename);
      except
       showmessage('请输入正确的文件名');
      end;
       self.Update;
      end;
   if trim(value) = '' then
     begin
      try
       fFilename:='';
       titlebmp.ReleaseHandle;
      except
        showmessage('释放错误!');
      end;
     end;
repaint;
end;
procedure Tstructormy.loadMyresource(var resource:Thandle;const name:string);
begin
  if (trim(name)<>'') and (resource<>0) then
   begin
    try
    titlebmp.LoadFromResourceName(resource,name);
    except
     showmessage('未能成功的取得图片资源!');
    end;
   end;
end;

procedure Tstructormy.WMPAINT(var msg:TWMPAINT);
var
 dc:HDC;
 myrect:Trect;
 ps:tagPaintstruct;
begin
//inherited;
dc:=beginpaint(self.Handle,ps);
myrect:=self.ClientRect;
 if assigned(titlebmp) then
   begin
    StretchBlt(dc,myrect.Left,myrect.Top,myrect.Right+myrect.left,myrect.Bottom+myrect.Top,titlebmp.Canvas.Handle,0,0,titlebmp.Width,titlebmp.Height,srccopy);
   end;
    logfonts.lfHeight:=self.Height-self.Height div 4;
    logfonts.lfWidth:=logfonts.lfHeight div 2;
    logfonts.lfWeight:=1;
    logfonts.lfUnderline:=0;
    logfonts.lfStrikeOut:=0;
    logfonts.lfItalic:=0;
    logfonts.lfEscapement:=0;
    logfonts.lfOrientation:=0;
    logfonts.lfFaceName:='楷体_GB2312';
    logfonts.lfCharSet:=gb2312_charset;
    Textfont:=createfontindirect(logfonts);
    selectobject(dc,TextFont);
    setbkmode(dc,windows.TRANSPARENT);
    drawtext(dc,pchar(self.Caption),strlen(pchar(self.caption)),myrect,DT_CENTER);
    Endpaint(self.Handle,ps);
end;


constructor tstructormy.create(Aowner:Tcomponent);
begin
  inherited Create(aowner);
  titlebmp:=Tbitmap.create;
end;
destructor Tstructormy.destroy;
begin
  titlebmp.free;
  inherited destroy;
end;

procedure Register;
begin
  RegisterComponents('Terry', [Tstructormy]);
end;

end.

⌨️ 快捷键说明

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