193 lines
6.3 KiB
Plaintext
193 lines
6.3 KiB
Plaintext
{------------------------------------------------------------------------------}
|
|
{ }
|
|
{ Demo of TIEMouseWheelParams in TImageEnView and TImageEnMView }
|
|
{ }
|
|
{ ImageEn, Image Display and Editing Library }
|
|
{ http://www.imageen.com }
|
|
{ }
|
|
{------------------------------------------------------------------------------}
|
|
|
|
|
|
(*
|
|
Copyright (c) 1998-2014 by Carlotta Calandra. All rights reserved.
|
|
Copyright (c) 2011-2014 by Xequte software.
|
|
|
|
This software comes without express or implied warranty.
|
|
In no case shall the author be liable for any damage or unwanted behavior of any
|
|
computer hardware and/or software.
|
|
|
|
Author grants you the right to include the component
|
|
in your application, whether COMMERCIAL, SHAREWARE, or FREEWARE.
|
|
|
|
ImageEn, IEvolution and ImageEn ActiveX may not be included in any
|
|
commercial, shareware or freeware libraries or components.
|
|
|
|
www.ImageEn.com
|
|
*)
|
|
|
|
|
|
unit uMain;
|
|
|
|
interface
|
|
|
|
uses
|
|
ComCtrls, Forms, Classes, Controls, imageenview, ieview, iemview, Types, Messages, StdCtrls, ExtCtrls, hyieutils, iexBitmaps, hyiedefs,
|
|
iesettings, iexLayers, iexRulers;
|
|
|
|
|
|
type
|
|
TfrmMain = class(TForm)
|
|
ImageEnMView1: TImageEnMView;
|
|
ImageEnView1: TImageEnView;
|
|
StatusBar1: TStatusBar;
|
|
pnlTop: TPanel;
|
|
lblFolder: TLabel;
|
|
edtFolder: TEdit;
|
|
btnGoFolder: TButton;
|
|
lblIEMMouseWheel: TLabel;
|
|
cmbIEMMouseWheel: TComboBox;
|
|
lblIEVMouseWheel: TLabel;
|
|
cmbIEVMouseWheel: TComboBox;
|
|
grpProps: TGroupBox;
|
|
Splitter1: TSplitter;
|
|
chkInvertDirection: TCheckBox;
|
|
edtMouseWheelValue: TEdit;
|
|
updMouseWheelValue: TUpDown;
|
|
cmbMouseWheelVariation: TComboBox;
|
|
lblMouseWheelValue: TLabel;
|
|
lblMouseWheelZoomPos: TLabel;
|
|
cmbMouseWheelZoomPos: TComboBox;
|
|
lblNote: TLabel;
|
|
procedure btnGoFolderClick(Sender: TObject);
|
|
procedure chkInvertDirectionClick(Sender: TObject);
|
|
procedure cmbIEVMouseWheelChange(Sender: TObject);
|
|
procedure cmbMouseWheelChange(Sender: TObject);
|
|
procedure cmbMouseWheelVariationChange(Sender: TObject);
|
|
procedure cmbMouseWheelZoomPosChange(Sender: TObject);
|
|
procedure edtMouseWheelValueChange(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure ImageEnMView1ImageSelect(Sender: TObject; idx: Integer);
|
|
procedure ImageEnView1ViewChange(Sender: TObject; Change: Integer);
|
|
private
|
|
procedure ReadDefaultValues;
|
|
procedure UpdateDisplay;
|
|
{ Private declarations }
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
frmMain: TfrmMain;
|
|
|
|
implementation
|
|
|
|
uses
|
|
SysUtils, Windows, iexWindowsFunctions;
|
|
|
|
{$R *.dfm}
|
|
{$R WindowsTheme.res}
|
|
|
|
procedure TfrmMain.btnGoFolderClick(Sender: TObject);
|
|
begin
|
|
ImageEnMView1.Clear;
|
|
ImageEnMView1.FillFromDirectory( edtFolder.text );
|
|
ImageEnMView1.SelectedImage := 0;
|
|
UpdateDisplay;
|
|
end;
|
|
|
|
procedure TfrmMain.chkInvertDirectionClick(Sender: TObject);
|
|
begin
|
|
ImageEnView1. MouseWheelParams.InvertDirection := chkInvertDirection.checked;
|
|
ImageEnMView1.MouseWheelParams.InvertDirection := chkInvertDirection.checked;
|
|
end;
|
|
|
|
procedure TfrmMain.cmbIEVMouseWheelChange(Sender: TObject);
|
|
begin
|
|
ImageEnView1.MouseWheelParams.Action := TIEMouseWheelParamsAction(cmbIEVMouseWheel.ItemIndex);
|
|
ImageEnView1.SetFocus;
|
|
|
|
cmbMouseWheelZoomPos.Enabled := ImageEnView1.MouseWheelParams.Action = iemwZoom;
|
|
lblMouseWheelZoomPos.Enabled := ImageEnView1.MouseWheelParams.Action = iemwZoom;
|
|
end;
|
|
|
|
procedure TfrmMain.cmbMouseWheelChange(Sender: TObject);
|
|
begin
|
|
ImageEnMView1.MouseWheelParams.Action := TIEMouseWheelParamsAction(cmbIEMMouseWheel.ItemIndex);
|
|
ImageEnMView1.SetFocus;
|
|
end;
|
|
|
|
procedure TfrmMain.cmbMouseWheelVariationChange(Sender: TObject);
|
|
begin
|
|
ImageEnView1. MouseWheelParams.Variation := TIEMouseWheelParamsVariation( cmbMouseWheelVariation.ItemIndex );
|
|
ImageEnMView1.MouseWheelParams.Variation := TIEMouseWheelParamsVariation( cmbMouseWheelVariation.ItemIndex );
|
|
end;
|
|
|
|
procedure TfrmMain.cmbMouseWheelZoomPosChange(Sender: TObject);
|
|
begin
|
|
ImageEnView1. MouseWheelParams.ZoomPosition := TIEMouseWheelParamsZoomPosition( cmbMouseWheelZoomPos.ItemIndex );
|
|
ImageEnMView1.MouseWheelParams.ZoomPosition := TIEMouseWheelParamsZoomPosition( cmbMouseWheelZoomPos.ItemIndex );
|
|
end;
|
|
|
|
procedure TfrmMain.edtMouseWheelValueChange(Sender: TObject);
|
|
var
|
|
iValue: Integer;
|
|
begin
|
|
try
|
|
iValue := StrToInt( edtMouseWheelValue.Text);
|
|
ImageEnView1. MouseWheelParams.Value := iValue;
|
|
ImageEnMView1.MouseWheelParams.Value := iValue;
|
|
except
|
|
ReadDefaultValues;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmMain.FormCreate(Sender: TObject);
|
|
begin
|
|
edtFolder.text := WindowsMyPicturesFolder;
|
|
ImageEnMView1.SetModernStyling();
|
|
ReadDefaultValues;
|
|
btnGoFolderClick( nil );
|
|
end;
|
|
|
|
procedure TfrmMain.ImageEnMView1ImageSelect(Sender: TObject; idx: Integer);
|
|
begin
|
|
UpdateDisplay;
|
|
end;
|
|
|
|
procedure TfrmMain.ImageEnView1ViewChange(Sender: TObject; Change: Integer);
|
|
begin
|
|
StatusBar1.Panels[2].Text := 'Zoom: ' + IntToStr( Trunc( ImageEnView1.Zoom ) ) + '%';
|
|
end;
|
|
|
|
procedure TfrmMain.ReadDefaultValues;
|
|
begin
|
|
cmbIEMMouseWheel.ItemIndex := ord( ImageEnMView1.MouseWheelParams.Action );
|
|
cmbIEVMouseWheel.ItemIndex := ord( ImageEnView1 .MouseWheelParams.Action );
|
|
edtMouseWheelValue.Text := IntToStr( ImageEnView1. MouseWheelParams.Value );
|
|
cmbMouseWheelVariation.ItemIndex := ord( ImageEnView1.MouseWheelParams.Variation );
|
|
cmbMouseWheelZoomPos.ItemIndex := ord( ImageEnView1. MouseWheelParams.ZoomPosition );
|
|
chkInvertDirection.checked := ImageEnView1.MouseWheelParams.InvertDirection;
|
|
end;
|
|
|
|
procedure TfrmMain.UpdateDisplay;
|
|
begin
|
|
StatusBar1.Panels[0].Text := 'Select: ' + IntToStr( ImageEnMView1.SelectedImage );
|
|
StatusBar1.Panels[1].Text := 'Count: ' + IntToStr( ImageEnMView1.ImageCount );
|
|
StatusBar1.Panels[2].Text := 'Zoom: ' + IntToStr( Trunc( ImageEnView1.Zoom ) ) + '%';
|
|
|
|
if ImageEnMView1.SelectedImage = -1 then
|
|
ImageEnView1.Blank
|
|
else
|
|
begin
|
|
ImageEnView1.IEBitmap.Assign(ImageEnMView1.GetTIEBitmap( ImageEnMView1.SelectedImage ));
|
|
try
|
|
ImageEnView1.Update;
|
|
finally
|
|
ImageEnMView1.ReleaseBitmap( ImageEnMView1.SelectedImage );
|
|
end;
|
|
ImageEnMView1.Update;
|
|
end;
|
|
end;
|
|
|
|
end.
|