📄 graphicsresourceform.pas
字号:
(*======================================================================*
| GraphicsResourceForm |
| |
| Remember: |
| |
| The thumbnail image (Image1) contains the master image. It is in |
| the correct format, has the correct palette, is the correct graphic |
| type, etc. |
| |
| The BitmapEditor image is a pf24Bit format bitmap regardless of the |
| thumbnail image's type and format, so it can display non-palette |
| color backgrounds for images with palettes. |
| |
| Version Date By Description |
| ------- ---------- ---- ------------------------------------------|
| 1.0 05/01/2001 CPWW Original |
*======================================================================*)
unit GraphicsResourceForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ResourceForm, cmpPropertyListBox, ExtCtrls, cmpBitmapEditor, unitResourceGraphics,
cmpColorSelector, unitExIcon, ComCtrls, ImgList, ToolWin,
cmpSizingPageControl, ActnList, Menus, GifImage;
const
WM_STATUSBAR = WM_USER + $203;
WM_ADDIMAGERESOURCE = WM_USER + $204;
type
TfmGraphicsResource = class(TfmResource)
pnlLeft: TPanel;
Splitter1: TSplitter;
PropertyListBox1: TPropertyListBox;
Splitter2: TSplitter;
sbThumbnail: TScrollBox;
Image1: TImage;
Panel1: TPanel;
ScrollBox2: TScrollBox;
BitmapEditor1: TBitmapEditor;
SizingPageControl1: TSizingPageControl;
pnlGraphics: TPanel;
ImageList1: TImageList;
pnlColours: TPanel;
shpBack: TShape;
shpFore: TShape;
ColorSelector1: TColorSelector;
pnlTransparent: TPanel;
TrackBar1: TTrackBar;
ToolBar1: TToolBar;
tbSelectRect: TToolButton;
tbSelectShape: TToolButton;
tbDropper: TToolButton;
tbEraser: TToolButton;
tbFloodFill: TToolButton;
tbMagnifier: TToolButton;
tbPencil: TToolButton;
tbBrush: TToolButton;
tbAirbrush: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
tbFrameRect: TToolButton;
tbFillRect: TToolButton;
tbRect: TToolButton;
tbFrameRoundRect: TToolButton;
tbFillRoundRect: TToolButton;
tbRoundRect: TToolButton;
tbFrameEllipse: TToolButton;
tbFillEllipse: TToolButton;
tbEllipse: TToolButton;
MainMenu1: TMainMenu;
ActionList1: TActionList;
mnuImage: TMenuItem;
actImageZoomIn: TAction;
actImageZoomOut: TAction;
ZoomIn1: TMenuItem;
ZoomOut1: TMenuItem;
ColorDialog1: TColorDialog;
actImageToolsPalette: TAction;
actImageColorsPalette: TAction;
N1: TMenuItem;
ToolPalettes1: TMenuItem;
ColorsPalette1: TMenuItem;
ToolsPalette1: TMenuItem;
actImageAddImage: TAction;
AddImage1: TMenuItem;
N2: TMenuItem;
PopupMenu1: TPopupMenu;
AddImage2: TMenuItem;
N3: TMenuItem;
ZoomIn2: TMenuItem;
ZoomOut2: TMenuItem;
N4: TMenuItem;
ToolPalettes2: TMenuItem;
ColorsPalette2: TMenuItem;
DrawingToolsPalette1: TMenuItem;
procedure FormShow(Sender: TObject);
procedure SizingPageControl1DockDrop(Sender: TObject;
Source: TDragDockObject; X, Y: Integer);
procedure SizingPageControl1UnDock(Sender: TObject; Client: TControl;
NewTarget: TWinControl; var Allow: Boolean);
procedure ColorSelector1ColorSelect(Sender: TObject);
procedure tbPencilClick(Sender: TObject);
procedure actImageZoomInExecute(Sender: TObject);
procedure actImageZoomOutExecute(Sender: TObject);
procedure ColorSelector1DblClick(Sender: TObject);
procedure BitmapEditor1EndChange(Sender: TObject);
procedure BitmapEditor1Change(Sender: TObject);
procedure pnlTransparentMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure pnlTransparentDblClick(Sender: TObject);
procedure BitmapEditor1DrawToolChange(Sender: TObject);
procedure PropertyListBox1PropertyChanged(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure actImageColorsPaletteExecute(Sender: TObject);
procedure actImageToolsPaletteExecute(Sender: TObject);
procedure mnuImageClick(Sender: TObject);
procedure BitmapEditor1SelectionRectChange(Sender: TObject);
procedure PopupMenu1Popup(Sender: TObject);
procedure actImageAddImageExecute(Sender: TObject);
private
fPCWidth : Integer;
details : TGraphicsResourceDetails;
procedure SetPaletteForPixelFormat (reset : Boolean);
protected
procedure SetObject(const Value: TObject); override;
function GetMenuItem : TMenuItem; override;
function GetImportExportType: TImportExportType; override;
function GetCanCut : Boolean; override;
function GetCanCopy : Boolean; override;
function GetCanPaste : Boolean; override;
function GetCanSelectAll : Boolean; override;
function GetCanDelete : Boolean; override;
public
procedure PreviewKey (var key : Word; shift : TShiftState); override;
procedure SaveResource (const undoDetails : string);
procedure SelectAll; override;
procedure EditDelete; override;
procedure Copy; override;
procedure Cut; override;
procedure Paste; override;
end;
var
fmGraphicsResource: TfmGraphicsResource;
implementation
uses ClipBrd, Jpeg;
{$R *.DFM}
resourcestring
rstPaletteChange = 'change palette'; // 'Undo' descriptions
rstRotate270 = 'rotate 90
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -