{------------------------------------------------------------------------------} { } { 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.