📄 ychatu57.pas
字号:
unit YchatU57;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, CPanel, ExtCtrls, StdCtrls, Richedit, DynamicSkinForm,
spSkinShellCtrls;
type
TForm53 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
CheckBox1: TCheckBox;
Button5: TButton;
spSkinOpenPictureDialog1: TspSkinOpenPictureDialog;
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FileImage: String;
ExStyle,OldStyle: Integer;
end;
var
Form53: TForm53;
implementation
uses YchatU1;
{$R *.dfm}
procedure TForm53.Button4Click(Sender: TObject);
begin
SpSkinOpenPictureDialog1.Execute;
FileImage:=SpSkinOpenPictureDialog1.FileName;
end;
procedure TForm53.Button1Click(Sender: TObject);
begin
If FileImage<>'' Then
Begin
Form1.Image1.Mosaic:=False;
Form1.Image1.Stretch:=False;
Form1.Image1.Center:=True;
Form1.Image1.Picture.LoadFromFile(FileImage);
Form1.RicheditReplacement.Color:=Form1.RichEdit1.Color;
Form1.Richedit1.Brush.Style:=BsClear;
exStyle:=ExStyle or WS_EX_TRANSPARENT;
SetWindowLong(Form1.Richedit1.Handle, GWL_EXSTYLE, ExStyle);
End
else
ShowMEssage('Please Load An Image First!');
end;
Procedure SetSeeThrough;
var
imagecanvas: TCanvas;
fmt: TFormatRange;
Begin
imagecanvas := Form1.image1.canvas;
with fmt do begin
hdc:= imagecanvas.handle;
hdcTarget:= hdc;
// rect needs to be specified in twips (1/1440 inch) as unit
rc:= Rect( 0, 0,
imagecanvas.cliprect.right * 1440 div Screen.pixelsperinch,
imagecanvas.cliprect.bottom * 1440 div Screen.pixelsperinch
);
rcPage:= rc;
chrg.cpMin := 0;
chrg.cpMax := Form1.richedit1.GetTextLen;
end;
SetBkMode( imagecanvas.Handle, TRANSPARENT );
Form1.richedit1.perform( EM_FORMATRANGE, 1, integer( @fmt ));
// next call frees some cached data
Form1.richedit1.perform( EM_FORMATRANGE, 0, 0 );
End;
procedure TForm53.Button2Click(Sender: TObject);
Begin
If FileImage<>'' Then
Begin
Form1.Image1.Mosaic:=False;
Form1.Image1.Stretch:=True;
Form1.Image1.Center:=True;
Form1.Image1.Picture.LoadFromFile(FileImage);
Form1.RicheditReplacement.Color:=Form1.RichEdit1.Color;
// SetSeeThrough;
Form1.Richedit1.Brush.Style:=BsClear;
exStyle:=ExStyle or WS_EX_TRANSPARENT;
SetWindowLong(Form1.Richedit1.Handle, GWL_EXSTYLE, ExStyle);
End
else
ShowMEssage('Please Load An Image First!');
end;
procedure TForm53.Button3Click(Sender: TObject);
begin
If FileImage<>'' Then
Begin
Form1.Image1.Mosaic:=True;
Form1.Image1.Stretch:=False;
Form1.Image1.Center:=True;
Form1.Image1.Picture.LoadFromFile(FileImage);
Form1.RicheditReplacement.Color:=Form1.RichEdit1.Color;
Form1.Richedit1.Brush.Style:=BsClear;
exStyle:=ExStyle or WS_EX_TRANSPARENT;
SetWindowLong(Form1.Richedit1.Handle, GWL_EXSTYLE, ExStyle);
End
else
ShowMEssage('Please Load An Image First!');
end;
procedure TForm53.Button5Click(Sender: TObject);
begin
CheckBox1.Checked:=False;
FileImage:='';
SetWindowLong(Form1.Richedit1.Handle, GWL_EXSTYLE, OldStyle);
end;
procedure TForm53.FormCreate(Sender: TObject);
begin
exStyle:=GetWindowLong(Form1.Richedit1.Handle,GWL_EXSTYLE);
OldStyle:=ExStyle;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -