{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% osCommerce Product Manager for Windows (oscpmwin). Copyright ©2003-2006 by Mario A. Valdez-Ramirez. You can contact Mario A. Valdez-Ramirez by email at mario@mariovaldez.org or paper mail at Olmos 809, San Nicolas, NL. 66495, Mexico. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} unit pimgzoom; interface uses Windows, Classes, Graphics, Controls, Forms, ExtCtrls; type Topm_Form_ImageZoom = class(TForm) opm_Image_ZoomImage: TImage; procedure opm_Image_ZoomImageClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDeactivate(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure FormHide(Sender: TObject); private public end; var opm_Form_ImageZoom: Topm_Form_ImageZoom; implementation uses gnugettext, oscpmdata, attention; {$R *.dfm} {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} procedure Topm_Form_ImageZoom.opm_Image_ZoomImageClick(Sender: TObject); begin PRopm_Sound ('RestoreDown', opmG_UISilent); opm_Form_ImageZoom.Close; end; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} procedure Topm_Form_ImageZoom.FormShow(Sender: TObject); VAR MaxX, MaxY, WSizeX, WSizeY : LONGINT; begin MaxX := Screen.WorkAreaWidth; MaxY := Screen.WorkAreaHeight; WSizeX := (opm_Form_ImageZoom.Width - opm_Form_ImageZoom.ClientWidth) + opm_Image_ZoomImage.Picture.Width; WSizeY := (opm_Form_ImageZoom.Height - opm_Form_ImageZoom.ClientHeight) + opm_Image_ZoomImage.Picture.Height; IF (WSizeX > MaxX) THEN BEGIN opm_Form_ImageZoom.Width := MaxX; HorzScrollBar.Range := opm_Image_ZoomImage.Picture.Width; HorzScrollBar.Position := 0; END ELSE BEGIN opm_Form_ImageZoom.ClientWidth := opm_Image_ZoomImage.Picture.Width; HorzScrollBar.Range := opm_Image_ZoomImage.Picture.Width; END; IF (WSizeY > MaxY) THEN BEGIN opm_Form_ImageZoom.Height := MaxY; VertScrollBar.Range := opm_Image_ZoomImage.Picture.Height; VertScrollBar.Position := 0; END ELSE BEGIN opm_Form_ImageZoom.ClientHeight := opm_Image_ZoomImage.Picture.Height; VertScrollBar.Range := opm_Image_ZoomImage.Picture.Height; END; opm_Image_ZoomImage.Hint := opm_Image_ZoomImage.Hint + #13#10#13#10 + _('Click to close...'); opm_Form_ImageZoom.Top := ((MaxY - opm_Form_ImageZoom.Height) DIV 2); opm_Form_ImageZoom.Left := ((MaxX - opm_Form_ImageZoom.Width) DIV 2); PRopm_Sound ('RestoreUp', opmG_UISilent); end; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} procedure Topm_Form_ImageZoom.FormCreate(Sender: TObject); begin opm_Image_ZoomImage.Cursor := crHandPoint; TranslateComponent (self); end; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} procedure Topm_Form_ImageZoom.FormDeactivate(Sender: TObject); begin PRopm_Sound ('RestoreDown', opmG_UISilent); opm_Form_ImageZoom.Close; end; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} procedure Topm_Form_ImageZoom.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin CASE Key OF VK_RETURN, VK_SPACE, VK_ESCAPE : opm_Form_ImageZoom.Close; VK_LEFT : HorzScrollBar.Position := HorzScrollBar.Position - HorzScrollBar.Increment; VK_RIGHT : HorzScrollBar.Position := HorzScrollBar.Position + HorzScrollBar.Increment; VK_UP : VertScrollBar.Position := VertScrollBar.Position - VertScrollBar.Increment; VK_DOWN : VertScrollBar.Position := VertScrollBar.Position + VertScrollBar.Increment; END; end; {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} {%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%} procedure Topm_Form_ImageZoom.FormHide(Sender: TObject); begin opm_Image_ZoomImage.Picture := NIL; end; end.