home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Softwarová Záchrana 3
/
Softwarova-zachrana-3.bin
/
ArsClip
/
source.zip
/
UnitFrmPreview.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
2004-01-13
|
3KB
|
141 lines
unit UnitFrmPreview;
{
Purpose:
Show a preview of a clipboard item
Allow for easy closing of the window by mouse click or keystroke
Updates:
Fix for showing the preview on multiple monitors
---------------
Support for Pictures
Better positioning of Window
Center Vertically
Keystrokes also will close window
Preview text is read only
}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls;
type
TFrmPreview = class(TForm)
txtPreview: TMemo;
imgPreview: TImage;
Label1: TLabel;
rePreview: TRichEdit;
procedure bCloseClick(Sender: TObject);
procedure txtPreviewClick(Sender: TObject);
procedure FormClick(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure txtPreviewKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure imgPreviewClick(Sender: TObject);
procedure FormResize(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure SetText(s : string);
procedure SetPicture;
end;
var
FrmPreview: TFrmPreview;
implementation
uses UnitFrmMainPopup;
{$R *.dfm}
procedure TFrmPreview.SetText(s : string);
begin
txtPreview.Text := s;
txtPreview.Visible := true;
imgPreview.Visible := false;
end;
procedure TFrmPreview.SetPicture;
begin
txtPreview.Visible := false;
imgPreview.Visible := true;
end;
procedure TFrmPreview.bCloseClick(Sender: TObject);
begin
self.ModalResult := mrOk;
end;
procedure TFrmPreview.txtPreviewClick(Sender: TObject);
begin
self.ModalResult := mrok;
end;
procedure TFrmPreview.FormClick(Sender: TObject);
begin
self.ModalResult := mrok;
end;
procedure TFrmPreview.Label1Click(Sender: TObject);
begin
self.ModalResult := mrok;
end;
procedure TFrmPreview.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
self.ModalResult := mrok;
end;
procedure TFrmPreview.FormKeyPress(Sender: TObject; var Key: Char);
begin
self.ModalResult := mrok;
end;
procedure TFrmPreview.txtPreviewKeyPress(Sender: TObject; var Key: Char);
begin
self.ModalResult := mrok;
end;
procedure TFrmPreview.imgPreviewClick(Sender: TObject);
begin
self.ModalResult := mrok;
end;
procedure TFrmPreview.FormShow(Sender: TObject);
begin
//
// show window just above current mouse position
// Keep if rom falling off the top of the screen
//
self.Top := mouse.CursorPos.Y - 80;
if (self.top < 0) then self.Top := 0;
//
// keep preview from falling off the bottom or right
// of the screen
//
if (self.Top + self.Height) > screen.Height then
self.top := screen.Height - self.Height;
if (self.Left + self.Width) > screen.Width then
self.Left := screen.Width - self.Width;
end;
procedure TFrmPreview.FormResize(Sender: TObject);
begin
self.ModalResult := 0;
end;
end.