unit umain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ieview, imageenview, ExtCtrls, Menus, StdCtrls, hyiedefs, hyieutils, iexBitmaps, iesettings, iexLayers, iexRulers; type TMainForm = class(TForm) ImageEnView1: TImageEnView; ImageEnView2: TImageEnView; Panel1: TPanel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Button1: TButton; Button2: TButton; procedure FormResize(Sender: TObject); procedure ImageEnView1ViewChange(Sender: TObject; Change: Integer); procedure ImageEnView2ViewChange(Sender: TObject; Change: Integer); procedure ImageEnView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormActivate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } procedure SetViewers; end; var MainForm: TMainForm; implementation uses unavi; {$R *.DFM} {$R WindowsTheme.res} procedure TMainForm.FormResize(Sender: TObject); begin ImageEnView1.Left:=0; ImageEnView1.Top:=0; ImageEnView1.Width:=ClientWidth div 2; ImageEnView1.Height:=ClientHeight - Panel1.Height; ImageEnView2.Left:=ImageEnView1.Width+2; ImageEnView2.Top:=0; ImageEnview2.Width:=ClientWidth div 2 - 2; ImageEnView2.Height:=ClientHeight - panel1.Height; Button2.Left := ImageEnView2.Left; end; procedure TMainForm.SetViewers; begin ImageEnView1.Zoom:=1600; ImageEnView1.SetViewXY(0,0); ImageEnView1.DisplayGrid:=true; ImageEnView2.Zoom:=1600; ImageEnView2.SetViewXY(0,0); ImageEnView2.DisplayGrid:=true; ImageEnView1.SetNavigator( fNavi.ImageEnView1 ); ImageEnView2.SetNavigator( fNavi.ImageEnView2 ); fNavi.Show; end; procedure TMainForm.ImageEnView1ViewChange(Sender: TObject; Change: Integer); begin ImageEnView2.SetViewXY( ImageEnView1.ViewX, ImageEnView1.ViewY); end; procedure TMainForm.ImageEnView2ViewChange(Sender: TObject; Change: Integer); begin ImageEnView1.SetViewXY( ImageEnView2.ViewX, ImageEnView2.ViewY); end; procedure TMainForm.ImageEnView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var bmpx,bmpy:integer; rgb:TRGB; begin bmpx:=ImageEnView1.XScr2Bmp(X); bmpy:=ImageEnView1.YScr2Bmp(Y); Label6.Caption:=inttostr(bmpx)+','+inttostr(bmpy); if (bmpx>=0) and (bmpy>=0) and (bmpx=0) and (bmpy>=0) and (bmpx