📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, ToolWin,
ExtCtrls, XPMan;
type
Tdialog = class(TForm)
Button1: TButton;
Button2: TButton;
XPManifest1: TXPManifest;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
private
procedure WMPAINT(var msg:TMESSAGE);message WM_PAINT;
procedure WMNCPAINT(var msg:TWMNCPAINT);message WM_NCPAINT;
procedure Active(var msg:Tmessage);message WM_ACTIVATE;
procedure CreateParams(var Params: TCreateParams); override;
procedure WMNCLBUTTONDBLCLK(var msg:Tmessage);message WM_NCLBUTTONDBLCLK;
{ Private declarations }
public
{ Public declarations }
end;
var
dialog: Tdialog;
TitleBmp:Tbitmap;
implementation
{$R *.dfm}
{$R mysource.RES}
procedure Tdialog.WMNCLBUTTONDBLCLK(var msg:Tmessage);
begin
//
end;
procedure Tdialog.Active(var msg:Tmessage);
begin
self.WMPAINT(msg);
end;
procedure Tdialog.CreateParams(var Params: TCreateParams);
begin
inherited;
params.Style:=params.Style-WS_SYSMENU;
end;
procedure Tdialog.WMPAINT(var msg:TMESSAGE);
var
dc1:HDC;
y,frame:integer;
oldbrush:HBrush;
oldpen,pen:HPEN;
canvas:Tcanvas;
begin
inherited;
canvas:=Tcanvas.Create;
dc1:=getwindowdc(Handle);
y:=GetSystemMetrics(SM_CYSIZE);
frame:=GetSystemMetrics(SM_CYSIZEFRAME);
oldbrush:=selectobject(dc1,getstockobject(null_brush));
pen:=createpen(PS_SOLID,frame*2,rgb(255,255,255));
oldpen:=selectobject(dc1,pen);
rectangle(dc1,0,0,Width,Height);
StretchBlt(dc1,frame,frame,Width-2*frame,y+frame div 2,titlebmp.Canvas.Handle,0,0,titlebmp.Width,titlebmp.Height,srccopy);
canvas.Handle:=dc1;
canvas.Brush.Style:=bsclear;
canvas.TextOut(frame,(y-frame)div 2,'提示');
//Textout(dc1,frame,frame,'提示',4);
selectobject(dc1,oldbrush);
selectobject(dc1,oldpen);
deleteObject(oldbrush);
deleteObject(oldpen);
deleteObject(pen);
canvas.Handle:=0;
canvas.Free;
releasedc(Handle,dc1);
end;
procedure Tdialog.WMNCPAINT(var msg:TWMNCPAINT);
var
dc1:HDC;
y,frame:integer;
oldbrush:HBrush;
oldpen,pen:HPEN;
canvas:Tcanvas;
begin
canvas:=Tcanvas.Create;
dc1:=getwindowdc(Handle);
y:=GetSystemMetrics(SM_CYSIZE);
frame:=GetSystemMetrics(SM_CYSIZEFRAME);
oldbrush:=selectobject(dc1,getstockobject(null_brush));
pen:=createpen(PS_SOLID,frame*2,rgb(255,255,255));
oldpen:=selectobject(dc1,pen);
rectangle(dc1,0,0,Width,Height);
StretchBlt(dc1,frame,frame,Width-2*frame,y+frame div 2,titlebmp.Canvas.Handle,0,0,titlebmp.Width,titlebmp.Height,srccopy);
canvas.Handle:=dc1;
canvas.Brush.Style:=bsclear;
canvas.TextOut(frame,(y-frame)div 2,'提示');
//Textout(dc1,frame,frame,'提示',4);
selectobject(dc1,oldbrush);
selectobject(dc1,oldpen);
deleteObject(oldbrush);
deleteObject(oldpen);
deleteObject(pen);
canvas.Handle:=0;
canvas.Free;
releasedc(Handle,dc1);
end;
procedure Tdialog.FormCreate(Sender: TObject);
begin
titlebmp:=Tbitmap.Create;
titlebmp.LoadFromResourceName(hinstance,'TItle');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -