Initial commit of ported HTML Components, version 0.0.2

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@995 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
macpgmr
2009-11-08 22:47:15 +00:00
parent 945adc1452
commit 635ebf4a4e
125 changed files with 56137 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,22 @@
<html>
<head>
<title>Try It</title>
<Meta HTTP-EQUIV="refresh" CONTENT="5; URL=whatsnew.htm" >
</head>
<body bgcolor="#FFFFFF" background="bkgnd.jpg" text="#000000">
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<div align="center">
<h2>WhatsNew.htm will reload in 5 seconds</h2>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,16 @@
<html><head><title>Green on Black Background</title>
</head>
<body bgcolor="000000" text="00ff00" link="ff0000" MarginWidth=100>
<center><h1>Exploring Colors</h1></center>
<ul>
<li><a href=blkgreen.htm target=_top>Place on Top</a>
<li><a href="blkgreen.htm" target=_parent>Place on Parent</a>
<li><a href="blkgreen.htm" target=_blank>Place in another window</a>
</ul>
<p>
A black background seems to lend an air of mystery...
<hr>
</body>
</html>

View File

@ -0,0 +1,13 @@
<head>
<title>Color Experiment</title>
</head>
<frameset rows="*,*">
<frame src="blkgreen.htm" >
<frame src="gudcolor.htm" >
<noframes>
<center><h1>Frame Alert</h1>
This document is designed to be viewed with a Frame viewer. </center>
</noframes>
</frameset>

View File

@ -0,0 +1,20 @@
body {background: white; font: 10pt Arial; margin-top: 15;}
.backcolor {background-color: #a5cdeb;}
table, td, th {font: 10pt Arial;}
:link {color: #000060;}
:hover {color: #a44;}
:visited {color: #7070a0;}
.title {font: bold 18pt "Times New Roman"; color: #a53737; text-align: center;
margin-bottom: 0;}
.subtitle {font: bold 8pt; color: #733737; text-align: center;
margin: 0;}
.maroon {color: maroon; font-weight: bold;}
.heading
{color: rgb(68, 85, 119); margin-left: -20px; margin-top: 25px; font: bold 12pt;
background-color: rgb(222,233,243);
padding: 5; }
body.indent {margin-left: 30px;}
code {font-size: 1em;}

View File

@ -0,0 +1,13 @@
<head>
<title>Frame Demo Program</title>
</head>
<frameset cols="115,*" border=0>
<frame src="leftwin.htm" name="LeftWin" Scrolling="NO">
<frame src="readme1.htm" name="RightWin">
<noframes>
<center><h1>Frame Alert</h1>
This document is designed to be viewed with a Frame viewer. </center>
</noframes>
</frameset>

Binary file not shown.

View File

@ -0,0 +1,283 @@
object Form1: TForm1
Left = 372
Top = 267
ClientHeight = 439
ClientWidth = 621
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'System'
Font.Style = []
Menu = MainMenu
OldCreateOrder = True
OnCreate = FormCreate
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 16
object Panel1: TPanel
Left = 0
Top = 421
Width = 621
Height = 18
Align = alBottom
Alignment = taLeftJustify
BevelInner = bvLowered
BevelOuter = bvNone
TabOrder = 0
object ProgressBar: TProgressBar
Left = 470
Top = 1
Width = 150
Height = 16
Align = alRight
TabOrder = 0
Visible = False
end
end
object Panel2: TPanel
Left = 0
Top = 0
Width = 621
Height = 33
Align = alTop
BevelOuter = bvNone
TabOrder = 1
object Edit1: TEdit
Left = 190
Top = 4
Width = 337
Height = 24
TabStop = False
ReadOnly = True
TabOrder = 3
end
object ReloadButton: TButton
Left = 10
Top = 4
Width = 59
Height = 24
Caption = '&Reload'
Enabled = False
TabOrder = 0
OnClick = ReloadButtonClick
end
object BackButton: TButton
Left = 69
Top = 4
Width = 59
Height = 24
Caption = '&Back'
Enabled = False
TabOrder = 1
OnClick = FwdBackClick
end
object FwdButton: TButton
Left = 128
Top = 4
Width = 59
Height = 24
Caption = '&Forward'
Enabled = False
TabOrder = 2
OnClick = FwdBackClick
end
end
object Panel3: TPanel
Left = 0
Top = 33
Width = 621
Height = 388
Align = alClient
BevelInner = bvLowered
BevelOuter = bvNone
Caption = 'Panel3'
TabOrder = 2
object Viewer: THTMLViewer
Left = 1
Top = 1
Width = 619
Height = 386
OnHotSpotCovered = HotSpotChange
OnHotSpotClick = HotSpotClick
OnFormSubmit = SubmitEvent
OnHistoryChange = HistoryChange
OnProgress = ViewerProgress
TabStop = True
TabOrder = 0
Align = alClient
DefBackground = clWindow
BorderStyle = htFocused
HistoryMaxCount = 6
DefFontName = 'Times New Roman'
DefPreFontName = 'Courier New'
DefFontColor = clWindowText
DefOverLinkColor = clFuchsia
ImageCacheCount = 6
NoSelect = False
CharSet = DEFAULT_CHARSET
PrintMarginLeft = 2.000000000000000000
PrintMarginRight = 2.000000000000000000
PrintMarginTop = 2.000000000000000000
PrintMarginBottom = 2.000000000000000000
PrintScale = 1.000000000000000000
OnMouseMove = ViewerMouseMove
OnProcessing = ProcessingHandler
OnPrintHTMLHeader = ViewerPrintHTMLHeader
OnPrintHTMLFooter = ViewerPrintHTMLFooter
OnInclude = ViewerInclude
OnSoundRequest = SoundRequest
OnMetaRefresh = MetaRefreshEvent
OnObjectClick = ObjectClick
OnRightClick = RightClick
object MediaPlayer: TMediaPlayer
Left = 336
Top = 40
Width = 253
Height = 30
Visible = False
TabOrder = 3
OnNotify = MediaPlayerNotify
end
end
end
object OpenDialog: TOpenDialog
DefaultExt = 'htm'
Filter = 'html files|*.htm;*.html|all files|*.*'
Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist]
Left = 329
Top = 2
end
object MainMenu: TMainMenu
Left = 291
Top = 4
object File1: TMenuItem
Caption = '&File'
object Open: TMenuItem
Caption = '&Open'
ShortCut = 114
OnClick = OpenFileClick
end
object OpenTextFile: TMenuItem
Caption = 'Open &Text File'
OnClick = OpenTextFileClick
end
object OpenImageFile: TMenuItem
Caption = 'Open &Image File'
OnClick = OpenImageFileClick
end
object PrinterSetup1: TMenuItem
Caption = 'Printer Setup...'
OnClick = PrinterSetup1Click
end
object Printpreview: TMenuItem
Caption = 'Print pre&view'
Enabled = False
OnClick = PrintpreviewClick
end
object Print1: TMenuItem
Caption = '&Print...'
Enabled = False
OnClick = Print1Click
end
object N1: TMenuItem
Caption = '-'
end
object Exit1: TMenuItem
Caption = 'E&xit'
OnClick = Exit1Click
end
end
object Edit2: TMenuItem
Caption = '&Edit'
OnClick = Edit2Click
object Find1: TMenuItem
Caption = '&Find'
Enabled = False
OnClick = Find1Click
end
object CopyItem: TMenuItem
Caption = '&Copy'
ShortCut = 16451
OnClick = CopyItemClick
end
object N2: TMenuItem
Caption = '-'
end
object SelectAllItem: TMenuItem
Caption = 'Select &All'
Enabled = False
OnClick = SelectAllItemClick
end
end
object options1: TMenuItem
Caption = '&Options'
object ShowImages: TMenuItem
Caption = '&Show images'
OnClick = ShowImagesClick
end
object Fonts: TMenuItem
Caption = 'Default &Font/Colors...'
OnClick = FontColorsClick
end
end
object HistoryMenuItem: TMenuItem
Caption = '&History'
Visible = False
end
object About1: TMenuItem
Caption = '&About'
OnClick = About1Click
end
end
object PrintDialog: TPrintDialog
FromPage = 1
MinPage = 1
MaxPage = 9999
Options = [poPageNums]
ToPage = 1
Left = 362
Top = 1
end
object FindDialog: TFindDialog
Options = [frDown, frHideWholeWord, frDisableWholeWord]
OnFind = FindDialogFind
Left = 249
Top = 65535
end
object PopupMenu: TPopupMenu
Left = 400
Top = 1
object Viewimage: TMenuItem
Caption = '&View image'
OnClick = ViewimageClick
end
object CopyImageToClipboard: TMenuItem
Caption = '&Copy image to clipboard'
OnClick = CopyImageToClipboardClick
end
object N3: TMenuItem
Caption = '-'
end
object OpenInNewWindow: TMenuItem
Caption = '&Open in new window'
OnClick = OpenInNewWindowClick
end
end
object MetaTimer: TTimer
Enabled = False
OnTimer = MetaTimerTimer
Left = 242
Top = 75
end
object Timer1: TTimer
Interval = 200
OnTimer = Timer1Timer
Left = 291
Top = 71
end
object PrinterSetupDialog: TPrinterSetupDialog
Left = 448
end
end

View File

@ -0,0 +1,273 @@
object Form1: TForm1
Left = 372
Top = 267
ClientHeight = 439
Height = 439
ClientWidth = 621
Width = 621
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Style = []
Menu = MainMenu
OnCreate = FormCreate
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
object Panel1: TPanel
Left = 0
Top = 421
Width = 621
Height = 18
Align = alBottom
Alignment = taLeftJustify
BevelInner = bvLowered
BevelOuter = bvNone
TabOrder = 0
object ProgressBar: TProgressBar
Left = 470
Top = 1
Width = 150
Height = 16
Align = alRight
TabOrder = 0
Visible = False
end
end
object Panel2: TPanel
Left = 0
Top = 0
Width = 621
Height = 33
Align = alTop
BevelOuter = bvNone
TabOrder = 1
object Edit1: TEdit
Left = 190
Top = 4
Width = 337
Height = 24
TabStop = False
ReadOnly = True
TabOrder = 3
end
object ReloadButton: TButton
Left = 10
Top = 4
Width = 59
Height = 24
Caption = '&Reload'
Enabled = False
TabOrder = 0
OnClick = ReloadButtonClick
end
object BackButton: TButton
Left = 69
Top = 4
Width = 59
Height = 24
Caption = '&Back'
Enabled = False
TabOrder = 1
OnClick = FwdBackClick
end
object FwdButton: TButton
Left = 128
Top = 4
Width = 59
Height = 24
Caption = '&Forward'
Enabled = False
TabOrder = 2
OnClick = FwdBackClick
end
end
object Panel3: TPanel
Left = 0
Top = 33
Width = 621
Height = 388
Align = alClient
BevelInner = bvLowered
BevelOuter = bvNone
Caption = 'Panel3'
TabOrder = 2
object Viewer: THTMLViewer
Left = 1
Top = 1
Width = 619
Height = 386
OnHotSpotCovered = HotSpotChange
OnHotSpotClick = HotSpotClick
OnFormSubmit = SubmitEvent
OnHistoryChange = HistoryChange
OnProgress = ViewerProgress
TabStop = True
TabOrder = 0
Align = alClient
DefBackground = clWindow
BorderStyle = htFocused
HistoryMaxCount = 6
DefFontName = 'Times New Roman'
DefPreFontName = 'Courier New'
DefFontColor = clWindowText
DefOverLinkColor = clFuchsia
ImageCacheCount = 6
NoSelect = False
CharSet = DEFAULT_CHARSET
PrintMarginLeft = 2.000000000000000000
PrintMarginRight = 2.000000000000000000
PrintMarginTop = 2.000000000000000000
PrintMarginBottom = 2.000000000000000000
PrintScale = 1.000000000000000000
OnMouseMove = ViewerMouseMove
OnProcessing = ProcessingHandler
OnPrintHTMLHeader = ViewerPrintHTMLHeader
OnPrintHTMLFooter = ViewerPrintHTMLFooter
OnInclude = ViewerInclude
OnSoundRequest = SoundRequest
OnMetaRefresh = MetaRefreshEvent
OnObjectClick = ObjectClick
OnRightClick = RightClick
end
end
object OpenDialog: TOpenDialog
DefaultExt = 'htm'
Filter = 'html files|*.htm;*.html|all files|*.*'
Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist]
Left = 329
Top = 2
end
object MainMenu: TMainMenu
Left = 291
Top = 4
object File1: TMenuItem
Caption = '&File'
object Open: TMenuItem
Caption = '&Open'
ShortCut = 114
OnClick = OpenFileClick
end
object OpenTextFile: TMenuItem
Caption = 'Open &Text File'
OnClick = OpenTextFileClick
end
object OpenImageFile: TMenuItem
Caption = 'Open &Image File'
OnClick = OpenImageFileClick
end
object PrinterSetup1: TMenuItem
Caption = 'Printer Setup...'
OnClick = PrinterSetup1Click
end
object Printpreview: TMenuItem
Caption = 'Print pre&view'
Enabled = False
OnClick = PrintpreviewClick
end
object Print1: TMenuItem
Caption = '&Print...'
Enabled = False
OnClick = Print1Click
end
object N1: TMenuItem
Caption = '-'
end
object Exit1: TMenuItem
Caption = 'E&xit'
OnClick = Exit1Click
end
end
object Edit2: TMenuItem
Caption = '&Edit'
OnClick = Edit2Click
object Find1: TMenuItem
Caption = '&Find'
Enabled = False
OnClick = Find1Click
end
object CopyItem: TMenuItem
Caption = '&Copy'
ShortCut = 16451
OnClick = CopyItemClick
end
object N2: TMenuItem
Caption = '-'
end
object SelectAllItem: TMenuItem
Caption = 'Select &All'
Enabled = False
OnClick = SelectAllItemClick
end
end
object options1: TMenuItem
Caption = '&Options'
object ShowImages: TMenuItem
Caption = '&Show images'
OnClick = ShowImagesClick
end
object Fonts: TMenuItem
Caption = 'Default &Font/Colors...'
OnClick = FontColorsClick
end
end
object HistoryMenuItem: TMenuItem
Caption = '&History'
Visible = False
end
object About1: TMenuItem
Caption = '&About'
OnClick = About1Click
end
end
object PrintDialog: TPrintDialog
FromPage = 1
MinPage = 1
MaxPage = 9999
Options = [poPageNums]
ToPage = 1
Left = 362
Top = 1
end
object FindDialog: TFindDialog
Options = [frDown, frHideWholeWord, frDisableWholeWord]
OnFind = FindDialogFind
Left = 249
Top = 65535
end
object PopupMenu: TPopupMenu
Left = 400
Top = 1
object Viewimage: TMenuItem
Caption = '&View image'
OnClick = ViewimageClick
end
object CopyImageToClipboard: TMenuItem
Caption = '&Copy image to clipboard'
OnClick = CopyImageToClipboardClick
end
object N3: TMenuItem
Caption = '-'
end
object OpenInNewWindow: TMenuItem
Caption = '&Open in new window'
OnClick = OpenInNewWindowClick
end
end
object MetaTimer: TTimer
Enabled = False
OnTimer = MetaTimerTimer
Left = 242
Top = 75
end
object Timer1: TTimer
Interval = 200
OnTimer = Timer1Timer
Left = 291
Top = 71
end
object PrinterSetupDialog: TPrinterSetupDialog
Left = 448
end
end

View File

@ -0,0 +1,80 @@
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3't'#1#3'Top'#3#11#1#12'ClientHeight'#3#183
+#1#6'Height'#3#183#1#11'ClientWidth'#3'm'#2#5'Width'#3'm'#2#5'Color'#7#9'clB'
+'tnFace'#12'Font.Charset'#7#15'DEFAULT_CHARSET'#10'Font.Color'#7#12'clWindow'
+'Text'#11'Font.Height'#2#243#10'Font.Style'#11#0#4'Menu'#7#8'MainMenu'#8'OnC'
+'reate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#6'OnShow'#7#8'FormSh'
+'ow'#13'PixelsPerInch'#2'`'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#3'Top'#3#165#1
+#5'Width'#3'm'#2#6'Height'#2#18#5'Align'#7#8'alBottom'#9'Alignment'#7#13'taL'
+'eftJustify'#10'BevelInner'#7#9'bvLowered'#10'BevelOuter'#7#6'bvNone'#8'TabO'
+'rder'#2#0#0#12'TProgressBar'#11'ProgressBar'#4'Left'#3#214#1#3'Top'#2#1#5'W'
+'idth'#3#150#0#6'Height'#2#16#5'Align'#7#7'alRight'#8'TabOrder'#2#0#7'Visibl'
+'e'#8#0#0#0#6'TPanel'#6'Panel2'#4'Left'#2#0#3'Top'#2#0#5'Width'#3'm'#2#6'Hei'
+'ght'#2'!'#5'Align'#7#5'alTop'#10'BevelOuter'#7#6'bvNone'#8'TabOrder'#2#1#0#5
+'TEdit'#5'Edit1'#4'Left'#3#190#0#3'Top'#2#4#5'Width'#3'Q'#1#6'Height'#2#24#7
+'TabStop'#8#8'ReadOnly'#9#8'TabOrder'#2#3#0#0#7'TButton'#12'ReloadButton'#4
+'Left'#2#10#3'Top'#2#4#5'Width'#2';'#6'Height'#2#24#7'Caption'#6#7'&Reload'#7
+'Enabled'#8#8'TabOrder'#2#0#7'OnClick'#7#17'ReloadButtonClick'#0#0#7'TButton'
+#10'BackButton'#4'Left'#2'E'#3'Top'#2#4#5'Width'#2';'#6'Height'#2#24#7'Capti'
+'on'#6#5'&Back'#7'Enabled'#8#8'TabOrder'#2#1#7'OnClick'#7#12'FwdBackClick'#0
+#0#7'TButton'#9'FwdButton'#4'Left'#3#128#0#3'Top'#2#4#5'Width'#2';'#6'Height'
+#2#24#7'Caption'#6#8'&Forward'#7'Enabled'#8#8'TabOrder'#2#2#7'OnClick'#7#12
+'FwdBackClick'#0#0#0#6'TPanel'#6'Panel3'#4'Left'#2#0#3'Top'#2'!'#5'Width'#3
+'m'#2#6'Height'#3#132#1#5'Align'#7#8'alClient'#10'BevelInner'#7#9'bvLowered'
+#10'BevelOuter'#7#6'bvNone'#7'Caption'#6#6'Panel3'#8'TabOrder'#2#2#0#11'THTM'
+'LViewer'#6'Viewer'#4'Left'#2#1#3'Top'#2#1#5'Width'#3'k'#2#6'Height'#3#130#1
+#16'OnHotSpotCovered'#7#13'HotSpotChange'#14'OnHotSpotClick'#7#12'HotSpotCli'
+'ck'#12'OnFormSubmit'#7#11'SubmitEvent'#15'OnHistoryChange'#7#13'HistoryChan'
+'ge'#10'OnProgress'#7#14'ViewerProgress'#7'TabStop'#9#8'TabOrder'#2#0#5'Alig'
+'n'#7#8'alClient'#13'DefBackground'#7#8'clWindow'#11'BorderStyle'#7#9'htFocu'
+'sed'#15'HistoryMaxCount'#2#6#11'DefFontName'#6#15'Times New Roman'#14'DefPr'
+'eFontName'#6#11'Courier New'#12'DefFontColor'#7#12'clWindowText'#16'DefOver'
+'LinkColor'#7#9'clFuchsia'#15'ImageCacheCount'#2#6#8'NoSelect'#8#7'CharSet'#7
+#15'DEFAULT_CHARSET'#15'PrintMarginLeft'#5#0#0#0#0#0#0#0#128#0'@'#16'PrintMa'
+'rginRight'#5#0#0#0#0#0#0#0#128#0'@'#14'PrintMarginTop'#5#0#0#0#0#0#0#0#128#0
+'@'#17'PrintMarginBottom'#5#0#0#0#0#0#0#0#128#0'@'#10'PrintScale'#5#0#0#0#0#0
+#0#0#128#255'?'#11'OnMouseMove'#7#15'ViewerMouseMove'#12'OnProcessing'#7#17
+'ProcessingHandler'#17'OnPrintHTMLHeader'#7#21'ViewerPrintHTMLHeader'#17'OnP'
+'rintHTMLFooter'#7#21'ViewerPrintHTMLFooter'#9'OnInclude'#7#13'ViewerInclude'
+#14'OnSoundRequest'#7#12'SoundRequest'#13'OnMetaRefresh'#7#16'MetaRefreshEve'
+'nt'#13'OnObjectClick'#7#11'ObjectClick'#12'OnRightClick'#7#10'RightClick'#0
+#0#0#11'TOpenDialog'#10'OpenDialog'#10'DefaultExt'#6#3'htm'#6'Filter'#6'%htm'
+'l files|*.htm;*.html|all files|*.*'#7'Options'#11#14'ofHideReadOnly'#15'ofP'
+'athMustExist'#15'ofFileMustExist'#0#4'Left'#3'I'#1#3'Top'#2#2#0#0#9'TMainMe'
+'nu'#8'MainMenu'#4'Left'#3'#'#1#3'Top'#2#4#0#9'TMenuItem'#5'File1'#7'Caption'
+#6#5'&File'#0#9'TMenuItem'#4'Open'#7'Caption'#6#5'&Open'#8'ShortCut'#2'r'#7
+'OnClick'#7#13'OpenFileClick'#0#0#9'TMenuItem'#12'OpenTextFile'#7'Caption'#6
+#15'Open &Text File'#7'OnClick'#7#17'OpenTextFileClick'#0#0#9'TMenuItem'#13
+'OpenImageFile'#7'Caption'#6#16'Open &Image File'#7'OnClick'#7#18'OpenImageF'
+'ileClick'#0#0#9'TMenuItem'#13'PrinterSetup1'#7'Caption'#6#16'Printer Setup.'
+'..'#7'OnClick'#7#18'PrinterSetup1Click'#0#0#9'TMenuItem'#12'Printpreview'#7
+'Caption'#6#14'Print pre&view'#7'Enabled'#8#7'OnClick'#7#17'PrintpreviewClic'
+'k'#0#0#9'TMenuItem'#6'Print1'#7'Caption'#6#9'&Print...'#7'Enabled'#8#7'OnCl'
+'ick'#7#11'Print1Click'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenu'
+'Item'#5'Exit1'#7'Caption'#6#5'E&xit'#7'OnClick'#7#10'Exit1Click'#0#0#0#9'TM'
+'enuItem'#5'Edit2'#7'Caption'#6#5'&Edit'#7'OnClick'#7#10'Edit2Click'#0#9'TMe'
+'nuItem'#5'Find1'#7'Caption'#6#5'&Find'#7'Enabled'#8#7'OnClick'#7#10'Find1Cl'
+'ick'#0#0#9'TMenuItem'#8'CopyItem'#7'Caption'#6#5'&Copy'#8'ShortCut'#3'C@'#7
+'OnClick'#7#13'CopyItemClick'#0#0#9'TMenuItem'#2'N2'#7'Caption'#6#1'-'#0#0#9
+'TMenuItem'#13'SelectAllItem'#7'Caption'#6#11'Select &All'#7'Enabled'#8#7'On'
+'Click'#7#18'SelectAllItemClick'#0#0#0#9'TMenuItem'#8'options1'#7'Caption'#6
+#8'&Options'#0#9'TMenuItem'#10'ShowImages'#7'Caption'#6#12'&Show images'#7'O'
+'nClick'#7#15'ShowImagesClick'#0#0#9'TMenuItem'#5'Fonts'#7'Caption'#6#23'Def'
+'ault &Font/Colors...'#7'OnClick'#7#15'FontColorsClick'#0#0#0#9'TMenuItem'#15
+'HistoryMenuItem'#7'Caption'#6#8'&History'#7'Visible'#8#0#0#9'TMenuItem'#6'A'
+'bout1'#7'Caption'#6#6'&About'#7'OnClick'#7#11'About1Click'#0#0#0#12'TPrintD'
,'ialog'#11'PrintDialog'#8'FromPage'#2#1#7'MinPage'#2#1#7'MaxPage'#3#15''''#7
+'Options'#11#10'poPageNums'#0#6'ToPage'#2#1#4'Left'#3'j'#1#3'Top'#2#1#0#0#11
+'TFindDialog'#10'FindDialog'#7'Options'#11#6'frDown'#15'frHideWholeWord'#18
+'frDisableWholeWord'#0#6'OnFind'#7#14'FindDialogFind'#4'Left'#3#249#0#3'Top'
+#4#255#255#0#0#0#0#10'TPopupMenu'#9'PopupMenu'#4'Left'#3#144#1#3'Top'#2#1#0#9
+'TMenuItem'#9'Viewimage'#7'Caption'#6#11'&View image'#7'OnClick'#7#14'Viewim'
+'ageClick'#0#0#9'TMenuItem'#20'CopyImageToClipboard'#7'Caption'#6#24'&Copy i'
+'mage to clipboard'#7'OnClick'#7#25'CopyImageToClipboardClick'#0#0#9'TMenuIt'
+'em'#2'N3'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#15'OpenInNewWindow'#7'Caption'
+#6#19'&Open in new window'#7'OnClick'#7#20'OpenInNewWindowClick'#0#0#0#6'TTi'
+'mer'#9'MetaTimer'#7'Enabled'#8#7'OnTimer'#7#14'MetaTimerTimer'#4'Left'#3#242
+#0#3'Top'#2'K'#0#0#6'TTimer'#6'Timer1'#8'Interval'#3#200#0#7'OnTimer'#7#11'T'
+'imer1Timer'#4'Left'#3'#'#1#3'Top'#2'G'#0#0#19'TPrinterSetupDialog'#18'Print'
+'erSetupDialog'#4'Left'#3#192#1#0#0#0
]);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,261 @@
object Form1: TForm1
Left = 135
Top = 398
Caption = 'Frame Demo'
ClientHeight = 252
ClientWidth = 494
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'System'
Font.Style = []
Menu = MainMenu1
OldCreateOrder = True
Position = poDesktopCenter
OnCreate = FormCreate
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 16
object Panel2: TPanel
Left = 0
Top = 229
Width = 494
Height = 23
Align = alBottom
Alignment = taLeftJustify
BevelInner = bvLowered
TabOrder = 0
object ProgressBar: TProgressBar
Left = 342
Top = 2
Width = 150
Height = 19
Align = alRight
TabOrder = 0
Visible = False
end
end
object FrameViewer: TFrameViewer
Left = 0
Top = 25
Width = 494
Height = 204
OnHotSpotTargetCovered = HotspotTargetChange
OnHotSpotTargetClick = HotSpotTargetClick
ImageCacheCount = 6
OnHistoryChange = HistoryChange
NoSelect = False
OnBlankWindowRequest = WindowRequest
OnObjectClick = FrameViewerObjectClick
OnRightClick = FrameViewerRightClick
OnInclude = FrameViewerInclude
OnSoundRequest = SoundRequest
PrintMarginLeft = 2.000000000000000000
PrintMarginRight = 2.000000000000000000
PrintMarginTop = 2.000000000000000000
PrintMarginBottom = 3.000000000000000000
PrintScale = 1.000000000000000000
OnPrintHTMLHeader = ViewerPrintHTMLHeader
OnPrintHTMLFooter = ViewerPrintHTMLFooter
DefBackground = clWindow
DefFontName = 'Times New Roman'
DefPreFontName = 'Courier New'
DefHotSpotColor = clNavy
HistoryMaxCount = 6
CharSet = DEFAULT_CHARSET
OnProcessing = ProcessingHandler
Align = alClient
TabOrder = 1
OnMouseMove = FrameViewerMouseMove
OnFormSubmit = SubmitEvent
fvOptions = [fvMetaRefresh, fvOverLinksActive, fvPrintMonochromeBlack, fvPrintTableBackground, fvShowVScroll]
OnProgress = FrameViewerProgress
end
object Panel1: TPanel
Left = 0
Top = 0
Width = 494
Height = 25
Align = alTop
BevelOuter = bvNone
TabOrder = 2
object ReloadButton: TButton
Left = 8
Top = 0
Width = 65
Height = 25
Caption = '&Reload'
Enabled = False
TabOrder = 0
OnClick = ReloadClick
end
object FwdButton: TButton
Left = 72
Top = 0
Width = 65
Height = 25
Caption = '&Fwd'
Enabled = False
TabOrder = 1
OnClick = FwdButtonClick
end
object BackButton: TButton
Left = 136
Top = 0
Width = 65
Height = 25
Caption = '&Back'
Enabled = False
TabOrder = 2
OnClick = BackButtonClick
end
object Edit2: TEdit
Left = 208
Top = 0
Width = 337
Height = 24
TabOrder = 3
end
end
object MediaPlayer: TMediaPlayer
Left = 76
Top = 115
Width = 253
Height = 30
Visible = False
TabOrder = 3
OnNotify = MediaPlayerNotify
end
object MainMenu1: TMainMenu
Left = 360
Top = 72
object File1: TMenuItem
Caption = '&File'
OnClick = File1Click
object Open1: TMenuItem
Caption = '&Open'
ShortCut = 114
OnClick = Open1Click
end
object SetPrintScale: TMenuItem
Caption = 'Set PrintScale'
OnClick = SetPrintScaleClick
end
object PrinterSetup: TMenuItem
Caption = 'Printer Setup...'
OnClick = PrinterSetupClick
end
object PrintPreview1: TMenuItem
Caption = 'Print Pre&view'
Enabled = False
OnClick = PrintPreview1Click
end
object Print1: TMenuItem
Caption = '&Print...'
OnClick = Print1Click
end
object N1: TMenuItem
Caption = '-'
end
object Exit1: TMenuItem
Caption = '&Exit'
OnClick = Exit1Click
end
end
object Edit1: TMenuItem
Caption = '&Edit'
OnClick = Edit1Click
object Find1: TMenuItem
Caption = '&Find'
ShortCut = 16454
OnClick = Find1Click
end
object Copy1: TMenuItem
Caption = '&Copy'
ShortCut = 16451
OnClick = Copy1Click
end
object N2: TMenuItem
Caption = '-'
end
object SelectAll1: TMenuItem
Caption = '&Select All'
OnClick = SelectAll1Click
end
end
object Options1: TMenuItem
Caption = '&Options'
object Showimages: TMenuItem
Caption = '&Show images'
Checked = True
OnClick = ShowimagesClick
end
object Fonts: TMenuItem
Caption = 'Default &Font/Colors'
OnClick = FontsClick
end
end
object HistoryMenuItem: TMenuItem
Caption = '&History'
Visible = False
end
object About1: TMenuItem
Caption = '&About'
OnClick = About1Click
end
end
object OpenDialog: TOpenDialog
DefaultExt = 'htm'
Filter = 'html files|*.htm;*.html|all files|*.*'
Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist]
Left = 320
Top = 72
end
object FindDialog: TFindDialog
Options = [frDown, frHideWholeWord, frDisableWholeWord]
OnFind = FindDialogFind
Left = 400
Top = 72
end
object PrintDialog: TPrintDialog
FromPage = 1
MinPage = 1
MaxPage = -1
Options = [poPageNums]
ToPage = 1
Left = 272
Top = 73
end
object PopupMenu: TPopupMenu
Left = 360
Top = 105
object ViewImage: TMenuItem
Caption = '&View Image'
OnClick = ViewImageClick
end
object CopyImagetoclipboard: TMenuItem
Caption = '&Copy image to clipboard'
OnClick = CopyImagetoclipboardClick
end
object N3: TMenuItem
Caption = '-'
end
object OpenInNewWindow: TMenuItem
Caption = '&Open in new window'
OnClick = OpenInNewWindowClick
end
end
object Timer1: TTimer
Enabled = False
Interval = 200
OnTimer = Timer1Timer
Left = 236
Top = 66
end
object PrinterSetupDialog: TPrinterSetupDialog
Left = 440
Top = 65
end
end

View File

@ -0,0 +1,251 @@
object Form1: TForm1
Left = 135
Top = 398
Caption = 'Frame Demo'
ClientHeight = 252
Height = 252
ClientWidth = 494
Width = 494
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Style = []
Menu = MainMenu1
Position = poDesktopCenter
OnCreate = FormCreate
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
object Panel2: TPanel
Left = 0
Top = 229
Width = 494
Height = 23
Align = alBottom
Alignment = taLeftJustify
BevelInner = bvLowered
TabOrder = 0
object ProgressBar: TProgressBar
Left = 342
Top = 2
Width = 150
Height = 19
Align = alRight
TabOrder = 0
Visible = False
end
end
object FrameViewer: TFrameViewer
Left = 0
Top = 25
Width = 494
Height = 204
OnHotSpotTargetCovered = HotspotTargetChange
OnHotSpotTargetClick = HotSpotTargetClick
ImageCacheCount = 6
OnHistoryChange = HistoryChange
NoSelect = False
OnBlankWindowRequest = WindowRequest
OnObjectClick = FrameViewerObjectClick
OnRightClick = FrameViewerRightClick
OnInclude = FrameViewerInclude
OnSoundRequest = SoundRequest
PrintMarginLeft = 2.000000000000000000
PrintMarginRight = 2.000000000000000000
PrintMarginTop = 2.000000000000000000
PrintMarginBottom = 3.000000000000000000
PrintScale = 1.000000000000000000
OnPrintHTMLHeader = ViewerPrintHTMLHeader
OnPrintHTMLFooter = ViewerPrintHTMLFooter
DefBackground = clWindow
DefFontName = 'Times New Roman'
DefPreFontName = 'Courier New'
DefHotSpotColor = clNavy
HistoryMaxCount = 6
CharSet = DEFAULT_CHARSET
OnProcessing = ProcessingHandler
Align = alClient
TabOrder = 1
OnMouseMove = FrameViewerMouseMove
OnFormSubmit = SubmitEvent
fvOptions = [fvMetaRefresh, fvOverLinksActive, fvPrintMonochromeBlack, fvPrintTableBackground, fvShowVScroll]
OnProgress = FrameViewerProgress
end
object Panel1: TPanel
Left = 0
Top = 0
Width = 494
Height = 25
Align = alTop
BevelOuter = bvNone
TabOrder = 2
object ReloadButton: TButton
Left = 8
Top = 0
Width = 65
Height = 25
Caption = '&Reload'
Enabled = False
TabOrder = 0
OnClick = ReloadClick
end
object FwdButton: TButton
Left = 72
Top = 0
Width = 65
Height = 25
Caption = '&Fwd'
Enabled = False
TabOrder = 1
OnClick = FwdButtonClick
end
object BackButton: TButton
Left = 136
Top = 0
Width = 65
Height = 25
Caption = '&Back'
Enabled = False
TabOrder = 2
OnClick = BackButtonClick
end
object Edit2: TEdit
Left = 208
Top = 0
Width = 337
Height = 24
TabOrder = 3
end
end
object MainMenu1: TMainMenu
Left = 360
Top = 72
object File1: TMenuItem
Caption = '&File'
OnClick = File1Click
object Open1: TMenuItem
Caption = '&Open'
ShortCut = 114
OnClick = Open1Click
end
object SetPrintScale: TMenuItem
Caption = 'Set PrintScale'
OnClick = SetPrintScaleClick
end
object PrinterSetup: TMenuItem
Caption = 'Printer Setup...'
OnClick = PrinterSetupClick
end
object PrintPreview1: TMenuItem
Caption = 'Print Pre&view'
Enabled = False
OnClick = PrintPreview1Click
end
object Print1: TMenuItem
Caption = '&Print...'
OnClick = Print1Click
end
object N1: TMenuItem
Caption = '-'
end
object Exit1: TMenuItem
Caption = '&Exit'
OnClick = Exit1Click
end
end
object Edit1: TMenuItem
Caption = '&Edit'
OnClick = Edit1Click
object Find1: TMenuItem
Caption = '&Find'
ShortCut = 16454
OnClick = Find1Click
end
object Copy1: TMenuItem
Caption = '&Copy'
ShortCut = 16451
OnClick = Copy1Click
end
object N2: TMenuItem
Caption = '-'
end
object SelectAll1: TMenuItem
Caption = '&Select All'
OnClick = SelectAll1Click
end
end
object Options1: TMenuItem
Caption = '&Options'
object Showimages: TMenuItem
Caption = '&Show images'
Checked = True
OnClick = ShowimagesClick
end
object Fonts: TMenuItem
Caption = 'Default &Font/Colors'
OnClick = FontsClick
end
end
object HistoryMenuItem: TMenuItem
Caption = '&History'
Visible = False
end
object About1: TMenuItem
Caption = '&About'
OnClick = About1Click
end
end
object OpenDialog: TOpenDialog
DefaultExt = 'htm'
Filter = 'html files|*.htm;*.html|all files|*.*'
Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist]
Left = 320
Top = 72
end
object FindDialog: TFindDialog
Options = [frDown, frHideWholeWord, frDisableWholeWord]
OnFind = FindDialogFind
Left = 400
Top = 72
end
object PrintDialog: TPrintDialog
FromPage = 1
MinPage = 1
MaxPage = -1
Options = [poPageNums]
ToPage = 1
Left = 272
Top = 73
end
object PopupMenu: TPopupMenu
Left = 360
Top = 105
object ViewImage: TMenuItem
Caption = '&View Image'
OnClick = ViewImageClick
end
object CopyImagetoclipboard: TMenuItem
Caption = '&Copy image to clipboard'
OnClick = CopyImagetoclipboardClick
end
object N3: TMenuItem
Caption = '-'
end
object OpenInNewWindow: TMenuItem
Caption = '&Open in new window'
OnClick = OpenInNewWindowClick
end
end
object Timer1: TTimer
Enabled = False
Interval = 200
OnTimer = Timer1Timer
Left = 236
Top = 66
end
object PrinterSetupDialog: TPrinterSetupDialog
Left = 440
Top = 65
end
end

View File

@ -0,0 +1,76 @@
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#135#0#3'Top'#3#142#1#7'Caption'#6#10'Fram'
+'e Demo'#12'ClientHeight'#3#252#0#6'Height'#3#252#0#11'ClientWidth'#3#238#1#5
+'Width'#3#238#1#5'Color'#7#9'clBtnFace'#12'Font.Charset'#7#15'DEFAULT_CHARSE'
+'T'#10'Font.Color'#7#12'clWindowText'#11'Font.Height'#2#243#10'Font.Style'#11
+#0#4'Menu'#7#9'MainMenu1'#8'Position'#7#15'poDesktopCenter'#8'OnCreate'#7#10
+'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#6'OnShow'#7#8'FormShow'#13'Pixel'
+'sPerInch'#2'`'#0#6'TPanel'#6'Panel2'#4'Left'#2#0#3'Top'#3#229#0#5'Width'#3
+#238#1#6'Height'#2#23#5'Align'#7#8'alBottom'#9'Alignment'#7#13'taLeftJustify'
+#10'BevelInner'#7#9'bvLowered'#8'TabOrder'#2#0#0#12'TProgressBar'#11'Progres'
+'sBar'#4'Left'#3'V'#1#3'Top'#2#2#5'Width'#3#150#0#6'Height'#2#19#5'Align'#7#7
+'alRight'#8'TabOrder'#2#0#7'Visible'#8#0#0#0#12'TFrameViewer'#11'FrameViewer'
+#4'Left'#2#0#3'Top'#2#25#5'Width'#3#238#1#6'Height'#3#204#0#22'OnHotSpotTarg'
+'etCovered'#7#19'HotspotTargetChange'#20'OnHotSpotTargetClick'#7#18'HotSpotT'
+'argetClick'#15'ImageCacheCount'#2#6#15'OnHistoryChange'#7#13'HistoryChange'
+#8'NoSelect'#8#20'OnBlankWindowRequest'#7#13'WindowRequest'#13'OnObjectClick'
+#7#22'FrameViewerObjectClick'#12'OnRightClick'#7#21'FrameViewerRightClick'#9
+'OnInclude'#7#18'FrameViewerInclude'#14'OnSoundRequest'#7#12'SoundRequest'#15
+'PrintMarginLeft'#5#0#0#0#0#0#0#0#128#0'@'#16'PrintMarginRight'#5#0#0#0#0#0#0
+#0#128#0'@'#14'PrintMarginTop'#5#0#0#0#0#0#0#0#128#0'@'#17'PrintMarginBottom'
+#5#0#0#0#0#0#0#0#192#0'@'#10'PrintScale'#5#0#0#0#0#0#0#0#128#255'?'#17'OnPri'
+'ntHTMLHeader'#7#21'ViewerPrintHTMLHeader'#17'OnPrintHTMLFooter'#7#21'Viewer'
+'PrintHTMLFooter'#13'DefBackground'#7#8'clWindow'#11'DefFontName'#6#15'Times'
+' New Roman'#14'DefPreFontName'#6#11'Courier New'#15'DefHotSpotColor'#7#6'cl'
+'Navy'#15'HistoryMaxCount'#2#6#7'CharSet'#7#15'DEFAULT_CHARSET'#12'OnProcess'
+'ing'#7#17'ProcessingHandler'#5'Align'#7#8'alClient'#8'TabOrder'#2#1#11'OnMo'
+'useMove'#7#20'FrameViewerMouseMove'#12'OnFormSubmit'#7#11'SubmitEvent'#9'fv'
+'Options'#11#13'fvMetaRefresh'#17'fvOverLinksActive'#22'fvPrintMonochromeBla'
+'ck'#22'fvPrintTableBackground'#13'fvShowVScroll'#0#10'OnProgress'#7#19'Fram'
+'eViewerProgress'#0#0#6'TPanel'#6'Panel1'#4'Left'#2#0#3'Top'#2#0#5'Width'#3
+#238#1#6'Height'#2#25#5'Align'#7#5'alTop'#10'BevelOuter'#7#6'bvNone'#8'TabOr'
+'der'#2#2#0#7'TButton'#12'ReloadButton'#4'Left'#2#8#3'Top'#2#0#5'Width'#2'A'
+#6'Height'#2#25#7'Caption'#6#7'&Reload'#7'Enabled'#8#8'TabOrder'#2#0#7'OnCli'
+'ck'#7#11'ReloadClick'#0#0#7'TButton'#9'FwdButton'#4'Left'#2'H'#3'Top'#2#0#5
+'Width'#2'A'#6'Height'#2#25#7'Caption'#6#4'&Fwd'#7'Enabled'#8#8'TabOrder'#2#1
+#7'OnClick'#7#14'FwdButtonClick'#0#0#7'TButton'#10'BackButton'#4'Left'#3#136
+#0#3'Top'#2#0#5'Width'#2'A'#6'Height'#2#25#7'Caption'#6#5'&Back'#7'Enabled'#8
+#8'TabOrder'#2#2#7'OnClick'#7#15'BackButtonClick'#0#0#5'TEdit'#5'Edit2'#4'Le'
+'ft'#3#208#0#3'Top'#2#0#5'Width'#3'Q'#1#6'Height'#2#24#8'TabOrder'#2#3#0#0#0
+#9'TMainMenu'#9'MainMenu1'#4'Left'#3'h'#1#3'Top'#2'H'#0#9'TMenuItem'#5'File1'
+#7'Caption'#6#5'&File'#7'OnClick'#7#10'File1Click'#0#9'TMenuItem'#5'Open1'#7
+'Caption'#6#5'&Open'#8'ShortCut'#2'r'#7'OnClick'#7#10'Open1Click'#0#0#9'TMen'
+'uItem'#13'SetPrintScale'#7'Caption'#6#14'Set PrintScale'#7'OnClick'#7#18'Se'
+'tPrintScaleClick'#0#0#9'TMenuItem'#12'PrinterSetup'#7'Caption'#6#16'Printer'
+' Setup...'#7'OnClick'#7#17'PrinterSetupClick'#0#0#9'TMenuItem'#13'PrintPrev'
+'iew1'#7'Caption'#6#14'Print Pre&view'#7'Enabled'#8#7'OnClick'#7#18'PrintPre'
+'view1Click'#0#0#9'TMenuItem'#6'Print1'#7'Caption'#6#9'&Print...'#7'OnClick'
+#7#11'Print1Click'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'
+#5'Exit1'#7'Caption'#6#5'&Exit'#7'OnClick'#7#10'Exit1Click'#0#0#0#9'TMenuIte'
+'m'#5'Edit1'#7'Caption'#6#5'&Edit'#7'OnClick'#7#10'Edit1Click'#0#9'TMenuItem'
+#5'Find1'#7'Caption'#6#5'&Find'#8'ShortCut'#3'F@'#7'OnClick'#7#10'Find1Click'
+#0#0#9'TMenuItem'#5'Copy1'#7'Caption'#6#5'&Copy'#8'ShortCut'#3'C@'#7'OnClick'
+#7#10'Copy1Click'#0#0#9'TMenuItem'#2'N2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'
+#10'SelectAll1'#7'Caption'#6#11'&Select All'#7'OnClick'#7#15'SelectAll1Click'
+#0#0#0#9'TMenuItem'#8'Options1'#7'Caption'#6#8'&Options'#0#9'TMenuItem'#10'S'
+'howimages'#7'Caption'#6#12'&Show images'#7'Checked'#9#7'OnClick'#7#15'Showi'
+'magesClick'#0#0#9'TMenuItem'#5'Fonts'#7'Caption'#6#20'Default &Font/Colors'
+#7'OnClick'#7#10'FontsClick'#0#0#0#9'TMenuItem'#15'HistoryMenuItem'#7'Captio'
+'n'#6#8'&History'#7'Visible'#8#0#0#9'TMenuItem'#6'About1'#7'Caption'#6#6'&Ab'
+'out'#7'OnClick'#7#11'About1Click'#0#0#0#11'TOpenDialog'#10'OpenDialog'#10'D'
+'efaultExt'#6#3'htm'#6'Filter'#6'%html files|*.htm;*.html|all files|*.*'#7'O'
+'ptions'#11#14'ofHideReadOnly'#15'ofPathMustExist'#15'ofFileMustExist'#0#4'L'
+'eft'#3'@'#1#3'Top'#2'H'#0#0#11'TFindDialog'#10'FindDialog'#7'Options'#11#6
+'frDown'#15'frHideWholeWord'#18'frDisableWholeWord'#0#6'OnFind'#7#14'FindDia'
+'logFind'#4'Left'#3#144#1#3'Top'#2'H'#0#0#12'TPrintDialog'#11'PrintDialog'#8
,'FromPage'#2#1#7'MinPage'#2#1#7'MaxPage'#2#255#7'Options'#11#10'poPageNums'#0
+#6'ToPage'#2#1#4'Left'#3#16#1#3'Top'#2'I'#0#0#10'TPopupMenu'#9'PopupMenu'#4
+'Left'#3'h'#1#3'Top'#2'i'#0#9'TMenuItem'#9'ViewImage'#7'Caption'#6#11'&View '
+'Image'#7'OnClick'#7#14'ViewImageClick'#0#0#9'TMenuItem'#20'CopyImagetoclipb'
+'oard'#7'Caption'#6#24'&Copy image to clipboard'#7'OnClick'#7#25'CopyImageto'
+'clipboardClick'#0#0#9'TMenuItem'#2'N3'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#15
+'OpenInNewWindow'#7'Caption'#6#19'&Open in new window'#7'OnClick'#7#20'OpenI'
+'nNewWindowClick'#0#0#0#6'TTimer'#6'Timer1'#7'Enabled'#8#8'Interval'#3#200#0
+#7'OnTimer'#7#11'Timer1Timer'#4'Left'#3#236#0#3'Top'#2'B'#0#0#19'TPrinterSet'
+'upDialog'#18'PrinterSetupDialog'#4'Left'#3#184#1#3'Top'#2'A'#0#0#0
]);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,177 @@
object FontForm: TFontForm
Left = 200
Top = 153
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'Edit Default Font and Colors'
ClientHeight = 339
ClientWidth = 307
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'System'
Font.Style = []
OnCreate = FormCreate
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 16
object Label1: TLabel
Left = 225
Top = 7
Width = 66
Height = 16
Caption = '&Font Color'
FocusControl = FontColorGrid
end
object Label2: TLabel
Left = 225
Top = 99
Width = 65
Height = 16
Caption = '&Link Color'
FocusControl = HotSpotColorGrid
end
object Label3: TLabel
Left = 225
Top = 189
Width = 61
Height = 16
Caption = 'Font &Size'
FocusControl = FontSizeEdit
end
object Label4: TLabel
Left = 9
Top = 200
Width = 70
Height = 16
Caption = 'Font &Name'
FocusControl = FontListBox
end
object Label5: TLabel
Left = 122
Top = 200
Width = 77
Height = 16
Caption = '&Background'
FocusControl = BackListBox
end
object FontListBox: TListBox
Left = 11
Top = 217
Width = 87
Height = 115
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ItemHeight = 13
ParentFont = False
Sorted = True
TabOrder = 0
OnClick = ListBoxClicks
end
object FontColorGrid: TColorGrid
Left = 225
Top = 23
Width = 72
Height = 72
ClickEnablesColor = True
ForegroundIndex = -1
ForegroundEnabled = False
BackgroundEnabled = False
Selection = 3
TabOrder = 2
TabStop = True
OnChange = FontColorGridChange
end
object HotSpotColorGrid: TColorGrid
Left = 225
Top = 114
Width = 72
Height = 72
ClickEnablesColor = True
ForegroundIndex = -1
ForegroundEnabled = False
BackgroundEnabled = False
TabOrder = 3
TabStop = True
OnChange = HotSpotColorGridChange
end
object BackListBox: TListBox
Left = 122
Top = 217
Width = 87
Height = 115
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ItemHeight = 13
ParentFont = False
TabOrder = 1
OnClick = ListBoxClicks
end
object OKButton: TButton
Left = 234
Top = 274
Width = 54
Height = 25
Caption = 'O&K'
Default = True
ModalResult = 1
TabOrder = 5
end
object Cancel: TButton
Left = 234
Top = 301
Width = 54
Height = 25
Caption = 'Cancel'
ModalResult = 2
TabOrder = 7
end
object ResetButton: TButton
Left = 234
Top = 246
Width = 54
Height = 25
Caption = '&Reset'
TabOrder = 6
OnClick = ResetButtonClick
end
object FontSizeEdit: TSpinEdit
Left = 225
Top = 206
Width = 65
Height = 26
MaxValue = 24
MinValue = 6
TabOrder = 4
Value = 12
OnChange = ListBoxClicks
end
object FontViewer: THTMLViewer
Left = 15
Top = 16
Width = 193
Height = 177
Cursor = 2
ViewImages = False
TabOrder = 8
BorderStyle = htSingle
HistoryMaxCount = 0
DefFontName = 'Times New Roman'
DefPreFontName = 'Courier New'
NoSelect = True
ScrollBars = ssVertical
CharSet = DEFAULT_CHARSET
PrintMarginLeft = 2.000000000000000000
PrintMarginRight = 2.000000000000000000
PrintMarginTop = 2.000000000000000000
PrintMarginBottom = 2.000000000000000000
PrintScale = 1.000000000000000000
htOptions = []
end
end

View File

@ -0,0 +1,146 @@
object FontForm: TFontForm
Left = 200
Top = 153
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'Edit Default Font and Colors'
ClientHeight = 339
Height = 339
ClientWidth = 307
Width = 307
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Style = []
OnCreate = FormCreate
OnShow = FormShow
PixelsPerInch = 96
object Label1: TLabel
Left = 225
Top = 7
Width = 66
Height = 16
Caption = '&Font Color'
end
object Label2: TLabel
Left = 225
Top = 99
Width = 65
Height = 16
Caption = '&Link Color'
end
object Label3: TLabel
Left = 225
Top = 189
Width = 61
Height = 16
Caption = 'Font &Size'
FocusControl = FontSizeEdit
end
object Label4: TLabel
Left = 9
Top = 200
Width = 70
Height = 16
Caption = 'Font &Name'
FocusControl = FontListBox
end
object Label5: TLabel
Left = 122
Top = 200
Width = 77
Height = 16
Caption = '&Background'
FocusControl = BackListBox
end
object FontListBox: TListBox
Left = 11
Top = 217
Width = 87
Height = 115
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Style = []
ItemHeight = 13
ParentFont = False
Sorted = True
TabOrder = 0
OnClick = ListBoxClicks
end
object BackListBox: TListBox
Left = 122
Top = 217
Width = 87
Height = 115
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Style = []
ItemHeight = 13
ParentFont = False
TabOrder = 1
OnClick = ListBoxClicks
end
object OKButton: TButton
Left = 234
Top = 274
Width = 54
Height = 25
Caption = 'O&K'
Default = True
ModalResult = 1
TabOrder = 5
end
object Cancel: TButton
Left = 234
Top = 301
Width = 54
Height = 25
Caption = 'Cancel'
ModalResult = 2
TabOrder = 7
end
object ResetButton: TButton
Left = 234
Top = 246
Width = 54
Height = 25
Caption = '&Reset'
TabOrder = 6
OnClick = ResetButtonClick
end
object FontSizeEdit: TSpinEdit
Left = 225
Top = 206
Width = 65
Height = 26
MaxValue = 24
MinValue = 6
TabOrder = 4
Value = 12
OnChange = ListBoxClicks
end
object FontViewer: THTMLViewer
Left = 15
Top = 16
Width = 193
Height = 177
Cursor = 2
ViewImages = False
TabOrder = 8
BorderStyle = htSingle
HistoryMaxCount = 0
DefFontName = 'Times New Roman'
DefPreFontName = 'Courier New'
NoSelect = True
ScrollBars = ssVertical
CharSet = DEFAULT_CHARSET
PrintMarginLeft = 2.000000000000000000
PrintMarginRight = 2.000000000000000000
PrintMarginTop = 2.000000000000000000
PrintMarginBottom = 2.000000000000000000
PrintScale = 1.000000000000000000
htOptions = []
end
end

View File

@ -0,0 +1,41 @@
LazarusResources.Add('TFontForm','FORMDATA',[
'TPF0'#9'TFontForm'#8'FontForm'#4'Left'#3#200#0#3'Top'#3#153#0#11'BorderIcons'
+#11#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6#28'Edit De'
+'fault Font and Colors'#12'ClientHeight'#3'S'#1#6'Height'#3'S'#1#11'ClientWi'
+'dth'#3'3'#1#5'Width'#3'3'#1#12'Font.Charset'#7#15'DEFAULT_CHARSET'#10'Font.'
+'Color'#7#12'clWindowText'#11'Font.Height'#2#243#10'Font.Style'#11#0#8'OnCre'
+'ate'#7#10'FormCreate'#6'OnShow'#7#8'FormShow'#13'PixelsPerInch'#2'`'#0#6'TL'
+'abel'#6'Label1'#4'Left'#3#225#0#3'Top'#2#7#5'Width'#2'B'#6'Height'#2#16#7'C'
+'aption'#6#11'&Font Color'#0#0#6'TLabel'#6'Label2'#4'Left'#3#225#0#3'Top'#2
+'c'#5'Width'#2'A'#6'Height'#2#16#7'Caption'#6#11'&Link Color'#0#0#6'TLabel'#6
+'Label3'#4'Left'#3#225#0#3'Top'#3#189#0#5'Width'#2'='#6'Height'#2#16#7'Capti'
+'on'#6#10'Font &Size'#12'FocusControl'#7#12'FontSizeEdit'#0#0#6'TLabel'#6'La'
+'bel4'#4'Left'#2#9#3'Top'#3#200#0#5'Width'#2'F'#6'Height'#2#16#7'Caption'#6
+#10'Font &Name'#12'FocusControl'#7#11'FontListBox'#0#0#6'TLabel'#6'Label5'#4
+'Left'#2'z'#3'Top'#3#200#0#5'Width'#2'M'#6'Height'#2#16#7'Caption'#6#11'&Bac'
+'kground'#12'FocusControl'#7#11'BackListBox'#0#0#8'TListBox'#11'FontListBox'
+#4'Left'#2#11#3'Top'#3#217#0#5'Width'#2'W'#6'Height'#2's'#12'Font.Charset'#7
+#15'DEFAULT_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#245#10'Fo'
+'nt.Style'#11#0#10'ItemHeight'#2#13#10'ParentFont'#8#6'Sorted'#9#8'TabOrder'
+#2#0#7'OnClick'#7#13'ListBoxClicks'#0#0#8'TListBox'#11'BackListBox'#4'Left'#2
+'z'#3'Top'#3#217#0#5'Width'#2'W'#6'Height'#2's'#12'Font.Charset'#7#15'DEFAUL'
+'T_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#245#10'Font.Style'
+#11#0#10'ItemHeight'#2#13#10'ParentFont'#8#8'TabOrder'#2#1#7'OnClick'#7#13'L'
+'istBoxClicks'#0#0#7'TButton'#8'OKButton'#4'Left'#3#234#0#3'Top'#3#18#1#5'Wi'
+'dth'#2'6'#6'Height'#2#25#7'Caption'#6#3'O&K'#7'Default'#9#11'ModalResult'#2
+#1#8'TabOrder'#2#5#0#0#7'TButton'#6'Cancel'#4'Left'#3#234#0#3'Top'#3'-'#1#5
+'Width'#2'6'#6'Height'#2#25#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'Tab'
+'Order'#2#7#0#0#7'TButton'#11'ResetButton'#4'Left'#3#234#0#3'Top'#3#246#0#5
+'Width'#2'6'#6'Height'#2#25#7'Caption'#6#6'&Reset'#8'TabOrder'#2#6#7'OnClick'
+#7#16'ResetButtonClick'#0#0#9'TSpinEdit'#12'FontSizeEdit'#4'Left'#3#225#0#3
+'Top'#3#206#0#5'Width'#2'A'#6'Height'#2#26#8'MaxValue'#2#24#8'MinValue'#2#6#8
+'TabOrder'#2#4#5'Value'#2#12#8'OnChange'#7#13'ListBoxClicks'#0#0#11'THTMLVie'
+'wer'#10'FontViewer'#4'Left'#2#15#3'Top'#2#16#5'Width'#3#193#0#6'Height'#3
+#177#0#6'Cursor'#2#2#10'ViewImages'#8#8'TabOrder'#2#8#11'BorderStyle'#7#8'ht'
+'Single'#15'HistoryMaxCount'#2#0#11'DefFontName'#6#15'Times New Roman'#14'De'
+'fPreFontName'#6#11'Courier New'#8'NoSelect'#9#10'ScrollBars'#7#10'ssVertica'
+'l'#7'CharSet'#7#15'DEFAULT_CHARSET'#15'PrintMarginLeft'#5#0#0#0#0#0#0#0#128
+#0'@'#16'PrintMarginRight'#5#0#0#0#0#0#0#0#128#0'@'#14'PrintMarginTop'#5#0#0
+#0#0#0#0#0#128#0'@'#17'PrintMarginBottom'#5#0#0#0#0#0#0#0#128#0'@'#10'PrintS'
+'cale'#5#0#0#0#0#0#0#0#128#255'?'#9'htOptions'#11#0#0#0#0
]);

View File

@ -0,0 +1,227 @@
unit Fontdlg;
interface
uses
{$IFNDEF LCL} Windows, Messages, {$ELSE} LclIntf, LMessages, LclType, LResources, {$ENDIF}
SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, {$IFNDEF LCL} ColorGrd, {$ENDIF} Htmlview, Spin;
type
TFontForm = class(TForm)
FontListBox: TListBox;
{$IFNDEF LCL}
FontColorGrid: TColorGrid;
HotSpotColorGrid: TColorGrid;
{$ENDIF}
BackListBox: TListBox;
OKButton: TButton;
Cancel: TButton;
ResetButton: TButton;
FontSizeEdit: TSpinEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
FontViewer: THTMLViewer;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ResetButtonClick(Sender: TObject);
procedure HotSpotColorGridChange(Sender: TObject);
procedure FontColorGridChange(Sender: TObject);
procedure ListBoxClicks(Sender: TObject);
private
{ Private declarations }
FFontColor: TColor;
FHotSpotColor: TColor;
FFontSize: integer;
InitialFontName: string;
InitialFontSize: integer;
InitialFontColor: TColor;
InitialHotSpotColor: TColor;
InitialBackground: TColor;
procedure AddItem(const Value: string);
function GetFontName: TFontName;
procedure SetFontName(Value: TFontName);
function GetBackground: TColor;
procedure SetBackground(Value: TColor);
procedure SetFontColor(Value: TColor);
procedure SetHotSpotColor(Value: TColor);
procedure SetFontSize(Value: integer);
procedure LoadAgain;
public
{ Public declarations }
property FontName: TFontName read GetFontName write SetFontName;
property Background: TColor read GetBackground write SetBackground;
property FontColor: TColor read FFontColor write SetFontColor;
property FontSize: integer read FFontSize write SetFontSize;
property HotSpotColor: TColor read FHotSpotColor write SetHotSpotColor;
end;
var
FontForm: TFontForm;
implementation
{$IFNDEF LCL}
{$R *.DFM}
{$ENDIF}
const
ViewText: string =
'<center><h1>Heading</h1></center>'+
'<ul>Some normal text.'+
'<li><a href=NoWhere>HotSpot Item</a>'+
'<li><b>Bold Text</b>'+
'<li><i>Italicized Text</i>'+
'<li><code>Code Text</code>'+
'</ul> '+
'<hr>';
procedure TFontForm.LoadAgain;
begin
FontViewer.LoadFromBuffer(@ViewText[1], Length(ViewText), '');
end;
procedure TFontForm.FormCreate(Sender: TObject);
begin
FontListBox.Items := Screen.Fonts;
GetColorValues(AddItem);
LoadAgain;
end;
procedure TFontForm.AddItem(const Value: string);
var
Color: TColor;
begin
Color := StringToColor(Value);
if (Color >= 0) or (Color = -16) or (Color = -6) or (Color = -2) then
BackListBox.Items.Add(Value);
end;
function TFontForm.GetFontName: TFontName;
begin
try
Result := FontListBox.Items[FontListBox.ItemIndex];
except
Result := 'System'; {in case nothing hilited}
end;
end;
procedure TFontForm.SetFontName(Value: TFontName);
var
I: integer;
begin
I := FontListBox.Items.IndexOf(Value);
if I < 0 then
I := FontListBox.Items.IndexOf('System');
{$IFNDEF MSWINDOWS} //System font only makes sense on Windows, so just select first font
if I < 0 then
I := 0;
{$ENDIF}
FontListBox.ItemIndex := I;
FontViewer.DefFontName := Value;
LoadAgain;
end;
function TFontForm.GetBackground: TColor;
begin
try
Result := StringToColor(BackListBox.Items[BackListBox.ItemIndex]);
except
Result := clBtnFace;
end;
end;
procedure TFontForm.SetBackground(Value: TColor);
var
I: integer;
S: string[80];
begin
S := ColorToString(Value);
I := BackListBox.Items.IndexOf(S);
if I < 0 then
begin
BackListBox.Items.Add(S);
I := BackListBox.Items.IndexOf(S);
end;
BackListBox.ItemIndex := I;
FontViewer.DefBackground := Value;
end;
procedure TFontForm.SetFontSize(Value: integer);
begin
FontViewer.DefFontSize := Value;
FFontSize := Value;
FontSizeEdit.Value := Value;
LoadAgain;
end;
procedure TFontForm.SetFontColor(Value: TColor);
begin
FontViewer.DefFontColor := Value;
FFontColor := Value;
{$IFNDEF LCL}
FontColorGrid.ForegroundEnabled := False;
{$ENDIF}
LoadAgain;
end;
procedure TFontForm.SetHotSpotColor(Value: TColor);
begin
FontViewer.DefHotSpotColor := Value;
FHotSpotColor := Value;
{$IFNDEF LCL}
HotSpotColorGrid.ForegroundEnabled := False;
{$ENDIF}
LoadAgain;
end;
procedure TFontForm.FormShow(Sender: TObject);
begin
InitialFontName := GetFontName;
InitialFontColor := FFontColor;
InitialHotSpotColor := FHotSpotColor;
InitialBackground := GetBackground;
InitialFontSize := FFontSize;
end;
procedure TFontForm.ResetButtonClick(Sender: TObject);
begin
FontName := InitialFontName;
FontSize := InitialFontSize;
FontColor := InitialFontColor;
HotSpotColor := InitialHotSpotColor;
Background := InitialBackground;
end;
procedure TFontForm.HotSpotColorGridChange(Sender: TObject);
begin
{$IFNDEF LCL}
HotSpotColor := HotSpotColorGrid.ForegroundColor;
{$ENDIF}
end;
procedure TFontForm.FontColorGridChange(Sender: TObject);
begin
{$IFNDEF LCL}
FontColor := FontColorGrid.ForegroundColor;
{$ENDIF}
end;
procedure TFontForm.ListBoxClicks(Sender: TObject);
begin
if Sender = FontListBox then
FontName := FontListBox.Items[FontListBox.ItemIndex]
else if Sender = BackListBox then
Background := StringToColor(BackListBox.Items[BackListBox.ItemIndex])
else if Sender = FontSizeEdit then
FontSize := FontSizeEdit.Value;
end;
initialization
{$IFDEF LCL}
{$I Fontdlg.lrs} {Include form's resource file}
{$ENDIF}
end.

View File

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<CONFIG>
<Compiler Value="/usr/local/bin/ppcppc" Date="1238925281"/>
<Params Value=" -MDelphi -Sa -Cirot -O1 -gl -k-framework -kCarbon -k-framework -kOpenGL -k'-dylib_file' -k'/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib' -WG -vewnhi -l -Fu../../../lazarus/components/printers/lib/powerpc-darwin/carbon/ -Fu../package/units/powerpc-darwin/ -Fu../../../lazarus/ideintf/units/powerpc-darwin/ -Fu../../../lazarus/lcl/units/powerpc-darwin/ -Fu../../../lazarus/lcl/units/powerpc-darwin/carbon/ -Fu../../../lazarus/packager/units/powerpc-darwin/ -Fu. -oframedem -dDebugIt -dLCL -dLCLcarbon framedem.dpr"/>
</CONFIG>

View File

@ -0,0 +1,29 @@
program FrameDem;
{A program to demonstrate the TFrameViewer component}
uses
{$IFDEF LCL}
Interfaces,
{$ENDIF}
Forms,
FDemUnit in 'FDEMUNIT.PAS' {Form1},
Fontdlg in 'FONTDLG.PAS' {FontForm},
Submit in 'SUBMIT.PAS' {SubmitForm},
HTMLAbt in 'HTMLABT.PAS' {AboutBox},
{$IFNDEF LCL}
PrintStatusForm in 'PRINTSTATUSFORM.PAS' {PrnStatusForm},
Gopage in 'GOPAGE.PAS' {GoPageForm},
PreviewForm in 'PREVIEWFORM.PAS' {PreviewForm},
{$ENDIF}
ImgForm in 'IMGFORM.PAS' {ImageForm};
{$IFDEF MSWINDOWS}
{$R *.res}
{$ENDIF}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TSubmitForm, SubmitForm);
Application.Run;
end.

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="project1"
version="1.0.0.0"
processorArchitecture="*"/>
<description>project1</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
</assembly>

View File

@ -0,0 +1,96 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="7"/>
<General>
<Flags>
<LRSInOutputDirectory Value="False"/>
</Flags>
<MainUnit Value="0"/>
<TargetFileExt Value=""/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
<Language Value=""/>
<CharSet Value=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="LCL"/>
</Item1>
<Item2>
<PackageName Value="htmlcomp"/>
</Item2>
</RequiredPackages>
<Units Count="1">
<Unit0>
<Filename Value="framedem.dpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<SyntaxHighlighter Value="Delphi"/>
</Unit0>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<SearchPaths>
<OtherUnitFiles Value="$(LazarusDir)/components/printers/lib/$(TargetCPU)-$(TargetOS)/$(LCLWidgetType)/"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<SyntaxMode Value="Delphi"/>
<CStyleOperator Value="False"/>
<IncludeAssertionCode Value="True"/>
<AllowLabel Value="False"/>
<CPPInline Value="False"/>
</SyntaxOptions>
</Parsing>
<CodeGeneration>
<Checks>
<IOChecks Value="True"/>
<RangeChecks Value="True"/>
<OverflowChecks Value="True"/>
<StackChecks Value="True"/>
</Checks>
</CodeGeneration>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CustomOptions Value="-dDebugIt"/>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

Binary file not shown.

View File

@ -0,0 +1,66 @@
object GoPageForm: TGoPageForm
Left = 305
Top = 180
ActiveControl = PageNum
BorderStyle = bsDialog
Caption = 'Go to Page Number'
ClientHeight = 116
ClientWidth = 231
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
Position = poScreenCenter
PixelsPerInch = 96
TextHeight = 13
object Bevel1: TBevel
Left = 11
Top = 8
Width = 209
Height = 57
Shape = bsFrame
IsControl = True
end
object OKBtn: TBitBtn
Left = 35
Top = 76
Width = 77
Height = 27
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 1
Kind = bkOK
Spacing = 3
IsControl = True
end
object CancelBtn: TBitBtn
Left = 119
Top = 76
Width = 77
Height = 27
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 2
Kind = bkCancel
Spacing = 3
IsControl = True
end
object PageNum: TSpinEdit
Left = 87
Top = 27
Width = 57
Height = 22
MaxValue = 0
MinValue = 1
TabOrder = 0
Value = 0
OnEnter = PageNumEnter
OnKeyDown = PageNumKeyDown
end
end

View File

@ -0,0 +1,61 @@
object GoPageForm: TGoPageForm
Left = 305
Top = 180
ActiveControl = PageNum
BorderStyle = bsDialog
Caption = 'Go to Page Number'
ClientHeight = 116
Height = 116
ClientWidth = 231
Width = 231
Font.Color = clBlack
Font.Height = -11
Font.Style = [fsBold]
Position = poScreenCenter
PixelsPerInch = 96
object Bevel1: TBevel
Left = 11
Top = 8
Width = 209
Height = 57
Shape = bsFrame
end
object OKBtn: TBitBtn
Left = 35
Top = 76
Width = 77
Height = 27
Font.Color = clBlack
Font.Height = -11
Font.Style = []
ParentFont = False
TabOrder = 1
Kind = bkOK
Spacing = 3
end
object CancelBtn: TBitBtn
Left = 119
Top = 76
Width = 77
Height = 27
Font.Color = clBlack
Font.Height = -11
Font.Style = []
ParentFont = False
TabOrder = 2
Kind = bkCancel
Spacing = 3
end
object PageNum: TSpinEdit
Left = 87
Top = 27
Width = 57
Height = 22
MaxValue = 0
MinValue = 1
TabOrder = 0
Value = 0
OnEnter = PageNumEnter
OnKeyDown = PageNumKeyDown
end
end

View File

@ -0,0 +1,17 @@
LazarusResources.Add('TGoPageForm','FORMDATA',[
'TPF0'#11'TGoPageForm'#10'GoPageForm'#4'Left'#3'1'#1#3'Top'#3#180#0#13'Active'
+'Control'#7#7'PageNum'#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6#17'Go to P'
+'age Number'#12'ClientHeight'#2't'#6'Height'#2't'#11'ClientWidth'#3#231#0#5
+'Width'#3#231#0#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#245#10'Font.St'
+'yle'#11#6'fsBold'#0#8'Position'#7#14'poScreenCenter'#13'PixelsPerInch'#2'`'
+#0#6'TBevel'#6'Bevel1'#4'Left'#2#11#3'Top'#2#8#5'Width'#3#209#0#6'Height'#2
+'9'#5'Shape'#7#7'bsFrame'#0#0#7'TBitBtn'#5'OKBtn'#4'Left'#2'#'#3'Top'#2'L'#5
+'Width'#2'M'#6'Height'#2#27#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#245
+#10'Font.Style'#11#0#10'ParentFont'#8#8'TabOrder'#2#1#4'Kind'#7#4'bkOK'#7'Sp'
+'acing'#2#3#0#0#7'TBitBtn'#9'CancelBtn'#4'Left'#2'w'#3'Top'#2'L'#5'Width'#2
+'M'#6'Height'#2#27#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#245#10'Font'
+'.Style'#11#0#10'ParentFont'#8#8'TabOrder'#2#2#4'Kind'#7#8'bkCancel'#7'Spaci'
+'ng'#2#3#0#0#9'TSpinEdit'#7'PageNum'#4'Left'#2'W'#3'Top'#2#27#5'Width'#2'9'#6
+'Height'#2#22#8'MaxValue'#2#0#8'MinValue'#2#1#8'TabOrder'#2#0#5'Value'#2#0#7
+'OnEnter'#7#12'PageNumEnter'#9'OnKeyDown'#7#14'PageNumKeyDown'#0#0#0
]);

View File

@ -0,0 +1,54 @@
unit Gopage;
interface
uses
{$IFNDEF LCL} WinTypes, WinProcs, {$ELSE} LclIntf, LResources, {$ENDIF}
Classes, Graphics, Forms, Controls, Buttons,
StdCtrls, ExtCtrls, Spin;
type
TGoPageForm = class(TForm)
OKBtn: TBitBtn;
CancelBtn: TBitBtn;
Bevel1: TBevel;
PageNum: TSpinEdit;
procedure PageNumEnter(Sender: TObject);
procedure PageNumKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
GoPageForm: TGoPageForm;
implementation
{$IFNDEF LCL}
{$R *.DFM}
{$ENDIF}
procedure TGoPageForm.PageNumEnter(Sender: TObject);
begin
PageNum.SelectAll;
end;
procedure TGoPageForm.PageNumKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 13 then
Begin
Key := 0;
OKBtn.Click;
end;
end;
initialization
{$IFDEF LCL}
{$I Gopage.lrs} {Include form's resource file}
{$ENDIF}
end.

View File

@ -0,0 +1,61 @@
object AboutBox: TAboutBox
Left = 286
Top = 214
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'About'
ClientHeight = 184
ClientWidth = 306
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'System'
Font.Style = []
OldCreateOrder = True
Position = poScreenCenter
PixelsPerInch = 96
TextHeight = 16
object BitBtn1: TBitBtn
Left = 114
Top = 146
Width = 77
Height = 30
TabOrder = 0
Kind = bkOK
end
object Panel1: TPanel
Left = 0
Top = 0
Width = 306
Height = 137
Align = alTop
BevelInner = bvLowered
BevelOuter = bvNone
Caption = 'Panel1'
TabOrder = 1
object Viewer: THTMLViewer
Left = 1
Top = 1
Width = 304
Height = 135
ViewImages = False
Enabled = False
TabOrder = 0
Align = alClient
BorderStyle = htSingle
HistoryMaxCount = 0
DefFontName = 'Times New Roman'
DefPreFontName = 'Courier New'
NoSelect = True
ScrollBars = ssNone
CharSet = DEFAULT_CHARSET
PrintMarginLeft = 2.000000000000000000
PrintMarginRight = 2.000000000000000000
PrintMarginTop = 2.000000000000000000
PrintMarginBottom = 2.000000000000000000
PrintScale = 1.000000000000000000
htOptions = []
end
end
end

View File

@ -0,0 +1,60 @@
object AboutBox: TAboutBox
Left = 286
Top = 214
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'About'
ClientHeight = 184
Height = 184
ClientWidth = 306
Width = 306
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Style = []
Position = poScreenCenter
PixelsPerInch = 96
object BitBtn1: TBitBtn
Left = 114
Top = 146
Width = 77
Height = 30
TabOrder = 0
Kind = bkOK
end
object Panel1: TPanel
Left = 0
Top = 0
Width = 306
Height = 137
Align = alTop
BevelInner = bvLowered
BevelOuter = bvNone
Caption = 'Panel1'
TabOrder = 1
object Viewer: THTMLViewer
Left = 1
Top = 1
Width = 304
Height = 135
ViewImages = False
Enabled = False
TabOrder = 0
Align = alClient
BorderStyle = htSingle
HistoryMaxCount = 0
DefFontName = 'Times New Roman'
DefPreFontName = 'Courier New'
NoSelect = True
ScrollBars = ssNone
CharSet = DEFAULT_CHARSET
PrintMarginLeft = 2.000000000000000000
PrintMarginRight = 2.000000000000000000
PrintMarginTop = 2.000000000000000000
PrintMarginBottom = 2.000000000000000000
PrintScale = 1.000000000000000000
htOptions = []
end
end
end

View File

@ -0,0 +1,20 @@
LazarusResources.Add('TAboutBox','FORMDATA',[
'TPF0'#9'TAboutBox'#8'AboutBox'#4'Left'#3#30#1#3'Top'#3#214#0#11'BorderIcons'
+#11#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6#5'About'#12
+'ClientHeight'#3#184#0#6'Height'#3#184#0#11'ClientWidth'#3'2'#1#5'Width'#3'2'
+#1#5'Color'#7#9'clBtnFace'#12'Font.Charset'#7#15'DEFAULT_CHARSET'#10'Font.Co'
+'lor'#7#12'clWindowText'#11'Font.Height'#2#243#10'Font.Style'#11#0#8'Positio'
+'n'#7#14'poScreenCenter'#13'PixelsPerInch'#2'`'#0#7'TBitBtn'#7'BitBtn1'#4'Le'
+'ft'#2'r'#3'Top'#3#146#0#5'Width'#2'M'#6'Height'#2#30#8'TabOrder'#2#0#4'Kind'
+#7#4'bkOK'#0#0#6'TPanel'#6'Panel1'#4'Left'#2#0#3'Top'#2#0#5'Width'#3'2'#1#6
+'Height'#3#137#0#5'Align'#7#5'alTop'#10'BevelInner'#7#9'bvLowered'#10'BevelO'
+'uter'#7#6'bvNone'#7'Caption'#6#6'Panel1'#8'TabOrder'#2#1#0#11'THTMLViewer'#6
+'Viewer'#4'Left'#2#1#3'Top'#2#1#5'Width'#3'0'#1#6'Height'#3#135#0#10'ViewIma'
+'ges'#8#7'Enabled'#8#8'TabOrder'#2#0#5'Align'#7#8'alClient'#11'BorderStyle'#7
+#8'htSingle'#15'HistoryMaxCount'#2#0#11'DefFontName'#6#15'Times New Roman'#14
+'DefPreFontName'#6#11'Courier New'#8'NoSelect'#9#10'ScrollBars'#7#6'ssNone'#7
+'CharSet'#7#15'DEFAULT_CHARSET'#15'PrintMarginLeft'#5#0#0#0#0#0#0#0#128#0'@'
+#16'PrintMarginRight'#5#0#0#0#0#0#0#0#128#0'@'#14'PrintMarginTop'#5#0#0#0#0#0
+#0#0#128#0'@'#17'PrintMarginBottom'#5#0#0#0#0#0#0#0#128#0'@'#10'PrintScale'#5
+#0#0#0#0#0#0#0#128#255'?'#9'htOptions'#11#0#0#0#0#0
]);

View File

@ -0,0 +1,91 @@
unit HTMLAbt;
interface
uses
{$IFNDEF LCL} Windows, Messages, {$ELSE} LclIntf, LMessages, LclType, LResources, LCLVersion, {$ENDIF}
SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons, Htmlview, ExtCtrls;
const
Version = '9.45';
type
TAboutBox = class(TForm)
BitBtn1: TBitBtn;
Panel1: TPanel;
Viewer: THTMLViewer;
private
{ Private declarations }
public
{ Public declarations }
constructor CreateIt(Owner: TComponent; const ProgName, CompName: string);
end;
var
AboutBox: TAboutBox;
implementation
{$IFNDEF LCL}
{$R *.DFM}
{$ENDIF}
constructor TAboutBox.CreateIt(Owner: TComponent; const ProgName, CompName: string);
var
S: string[210];
begin
inherited Create(Owner);
Viewer.DefFontName := 'MS Sans Serif';
Viewer.DefFontSize := 9;
Viewer.DefFontColor := clNavy;
S :='<body bgcolor="ffffeb" text="000080">'+
'<center>'+
'<h1>'+ProgName+'</h1>'+
'<font color="Maroon">A demo program for the '+CompName+' component</font>'+
{$IFNDEF LCL}
'<h3>Version '+Version+' compiled with Delphi '+
{$ifdef Windows}
'1</h3>'+
{$endif}
{$ifdef Ver90}
'2</h3>'+
{$endif}
{$ifdef Ver100}
'3</h3>'+
{$endif}
{$ifdef Ver120}
'4</h3>'+
{$endif}
{$ifdef Ver130}
'5</h3>'+
{$endif}
{$ifdef Ver140}
'6</h3>'+
{$endif}
{$ifdef Ver150}
'7</h3>'+
{$endif}
{$ifdef Ver170}
'2005</h3>'+
{$endif}
{$ifdef Ver180}
'2006</h3>'+
{$endif}
{$ELSE}
'<h3>Version ' + Version + ' compiled with Lazarus ' + lcl_version + '</h3>' +
{$ENDIF}
'</center>'+
'</body>';
Viewer.LoadFromBuffer(@S[1], Length(S), '');
end;
initialization
{$IFDEF LCL}
{$I Htmlabt.lrs} {Include form's resource file}
{$ENDIF}
end.

View File

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<CONFIG>
<Compiler Value="/usr/local/bin/ppcppc" Date="1238925281"/>
<Params Value=" -MDelphi -Sa -Cirot -O1 -gl -k-framework -kCarbon -k-framework -kOpenGL -k'-dylib_file' -k'/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib' -WG -vewnhi -l -Fu../../../lazarus/components/printers/lib/powerpc-darwin/carbon/ -Fu../package/units/powerpc-darwin/ -Fu../../../lazarus/ideintf/units/powerpc-darwin/ -Fu../../../lazarus/lcl/units/powerpc-darwin/ -Fu../../../lazarus/lcl/units/powerpc-darwin/carbon/ -Fu../../../lazarus/packager/units/powerpc-darwin/ -Fu. -ohtmldemo -dDebugIt -dLCL -dLCLcarbon htmldemo.dpr"/>
</CONFIG>

View File

@ -0,0 +1,29 @@
program HtmlDemo;
{A program to demonstrate the ThtmlViewer component}
uses
{$IFDEF LCL}
Interfaces,
{$ENDIF}
Forms,
demounit in 'demounit.pas' {Form1},
Submit in 'Submit.pas' {SubmitForm},
Fontdlg in 'Fontdlg.pas' {FontForm},
Htmlabt in 'Htmlabt.pas' {AboutBox},
{$IFNDEF LCL}
PreviewForm in 'PreviewForm.pas' {PreviewForm},
Gopage in 'Gopage.pas' {GoPageForm},
PrintStatusForm in 'PrintStatusForm.pas' {PrnStatusForm},
{$ENDIF}
ImgForm in 'ImgForm.pas' {ImageForm};
{$IFDEF MSWINDOWS}
{$R *.res}
{$ENDIF}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TSubmitForm, SubmitForm);
Application.Run;
end.

View File

@ -0,0 +1,96 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="7"/>
<General>
<Flags>
<LRSInOutputDirectory Value="False"/>
</Flags>
<MainUnit Value="0"/>
<TargetFileExt Value=""/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
<Language Value=""/>
<CharSet Value=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="LCL"/>
</Item1>
<Item2>
<PackageName Value="htmlcomp"/>
</Item2>
</RequiredPackages>
<Units Count="1">
<Unit0>
<Filename Value="htmldemo.dpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<SyntaxHighlighter Value="Delphi"/>
</Unit0>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<SearchPaths>
<OtherUnitFiles Value="$(LazarusDir)/components/printers/lib/$(TargetCPU)-$(TargetOS)/$(LCLWidgetType)/"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<SyntaxMode Value="Delphi"/>
<CStyleOperator Value="False"/>
<IncludeAssertionCode Value="True"/>
<AllowLabel Value="False"/>
<CPPInline Value="False"/>
</SyntaxOptions>
</Parsing>
<CodeGeneration>
<Checks>
<IOChecks Value="True"/>
<RangeChecks Value="True"/>
<OverflowChecks Value="True"/>
<StackChecks Value="True"/>
</Checks>
</CodeGeneration>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CustomOptions Value="-dDebugIt"/>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

Binary file not shown.

View File

@ -0,0 +1,27 @@
object ImageForm: TImageForm
Left = 591
Top = 236
AutoScroll = False
Caption = 'ImageForm'
ClientHeight = 199
ClientWidth = 216
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
FormStyle = fsStayOnTop
OldCreateOrder = True
Position = poDefaultPosOnly
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Image1: TImage
Left = 0
Top = 0
Width = 317
Height = 306
AutoSize = True
end
end

View File

@ -0,0 +1,26 @@
object ImageForm: TImageForm
Left = 591
Top = 236
AutoScroll = False
Caption = 'ImageForm'
ClientHeight = 199
Height = 199
ClientWidth = 216
Width = 216
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Style = []
FormStyle = fsStayOnTop
Position = poDefaultPosOnly
OnShow = FormShow
PixelsPerInch = 96
object Image1: TImage
Left = 0
Top = 0
Width = 317
Height = 306
AutoSize = True
end
end

View File

@ -0,0 +1,10 @@
LazarusResources.Add('TImageForm','FORMDATA',[
'TPF0'#10'TImageForm'#9'ImageForm'#4'Left'#3'O'#2#3'Top'#3#236#0#10'AutoScrol'
+'l'#8#7'Caption'#6#9'ImageForm'#12'ClientHeight'#3#199#0#6'Height'#3#199#0#11
+'ClientWidth'#3#216#0#5'Width'#3#216#0#5'Color'#7#9'clBtnFace'#12'Font.Chars'
+'et'#7#15'DEFAULT_CHARSET'#10'Font.Color'#7#12'clWindowText'#11'Font.Height'
+#2#245#10'Font.Style'#11#0#9'FormStyle'#7#11'fsStayOnTop'#8'Position'#7#16'p'
+'oDefaultPosOnly'#6'OnShow'#7#8'FormShow'#13'PixelsPerInch'#2'`'#0#6'TImage'
+#6'Image1'#4'Left'#2#0#3'Top'#2#0#5'Width'#3'='#1#6'Height'#3'2'#1#8'AutoSiz'
+'e'#9#0#0#0
]);

View File

@ -0,0 +1,43 @@
unit ImgForm;
interface
uses
{$IFNDEF LCL} Windows, Messages, {$ELSE} LclIntf, LMessages, LclType, LResources, {$ENDIF}
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;
type
TImageForm = class(TForm)
Image1: TImage;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
ImageFormBitmap: TBitmap;
end;
var
ImageForm: TImageForm;
implementation
{$IFNDEF LCL}
{$R *.DFM}
{$ENDIF}
procedure TImageForm.FormShow(Sender: TObject);
begin
Image1.Picture.Bitmap := ImageFormBitmap;
Width := Image1.Width + 30; {makes for better fit}
ClientHeight := Image1.Height;
ClientWidth := Image1.Width;
end;
initialization
{$IFDEF LCL}
{$I ImgForm.lrs} {Include form's resource file}
{$ENDIF}
end.

View File

@ -0,0 +1,674 @@
object PreviewForm: TPreviewForm
Left = 361
Top = 158
Width = 742
Height = 545
Caption = 'Preview Form'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
Icon.Data = {
0000010001002020100000000000E80200001600000028000000200000004000
0000010004000000000080020000000000000000000000000000000000000000
0000000080000080000000808000800000008000800080800000C0C0C0008080
80000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000FFFFFFFFFFFFFF000000000000000000FCCCCCCCCCCCCF00000000000000
0000FFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFF00000000000000
0000FFFFFFFFFFFFFF000000000000000000FCCCCCCCCCCCCF00000000000000
0000FFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFF000000000000000
0000FFFFFFFFFFFF00000000000000000000FCCCCCCCCCC00F00000000000000
0000FFFFF0000F00FF000000000000000000FFFF0777700FFF00000000000000
0000FFF07777770FFF000000000000000000FC0777777770CF00000000000000
0000FF0444444440FF000000000000000000FF0444444440FF00000000000000
0000FF0444444440FF000000000000000000FC0777777770CF00000000000000
0000FFF07777770FFF000000000000000000FFFF077770FFFF00000000000000
0000FFFFF0000FFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0001FFFE0001FFFE0001F7FE00
01E7FE0001CFFE00019FFE00013FFE00007FFE0000FFFE0001FFFE0001FFFE00
01FFFE0001FFFE0001FFFE0001FFFE0001FFFE0001FFFE0001FFFE0001FFFE00
01FFFE0001FFFE0001FFFE0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
OldCreateOrder = True
WindowState = wsMaximized
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object ToolBarPanel: TPanel
Left = 0
Top = 0
Width = 734
Height = 35
Align = alTop
BevelOuter = bvNone
TabOrder = 0
object GridBut: TSpeedButton
Left = 391
Top = 4
Width = 25
Height = 25
Hint = 'Show/Hide Grid'
AllowAllUp = True
GroupIndex = 1
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
BF0000BF000000BFBF00BF000000BF00BF00BFBF0000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00777777777777
7777777877877877877777787787787787777880880880880887777877877877
8777777877877877877778808808808808877778778778778777777877877877
8777788088088088088777787787787787777778778778778777788088088088
0887777877877877877777787787787787777777777777777777}
ParentShowHint = False
ShowHint = True
OnClick = GridButClick
end
object ZoomCursorBut: TSpeedButton
Left = 532
Top = 4
Width = 25
Height = 25
Hint = 'Selects the Zoom Tool to zoom in or out'
GroupIndex = 2
Down = True
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
0400000000000001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
33033333333333333F8F3333333333333000333333333333F888333333333333
000333333333333F888333333333333000333333333333F88833333333333300
033333333FFF3F888333333800083B803333333F8883F88833333308888800B3
33333388333888833333308F7F7F8033333338F333F338F3333388F7F9F7F883
3333383338F3383F3333087F797F780333338F33F8FFF38F333308F99999F803
33338F388888338F3333087F797F7803333383F338F33383333388F7F9F7F883
333338F3383338F33333308F7F7F80333333383FF333F8333333330888880333
333333883FF88333333333380008333333333333888333333333}
NumGlyphs = 2
ParentShowHint = False
ShowHint = True
OnClick = ZoomCursorButClick
end
object HandCursorBut: TSpeedButton
Left = 558
Top = 4
Width = 25
Height = 25
Hint = 'Selects the Hand Tool to pan across the Page'
GroupIndex = 2
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333300000003
33333330FFFFFFF03333330FFFFFFFFF0333330FFFFFFF0FF033330FFFFFFF00
FF03330FFFFFFF030F03330F0F0F0F033003330F0F0F0F033333330F0F0F0F03
3333330F0F0F0F033333330F0F0F0F03333333300F0F0F03333333330F0F0F03
33333333000F0F0333333333330F003333333333330003333333}
ParentShowHint = False
ShowHint = True
OnClick = HandCursorButClick
end
object OnePageBut: TSpeedButton
Left = 595
Top = 4
Width = 25
Height = 25
Hint = 'Display One page at a time'
GroupIndex = 3
Down = True
Caption = '&1'
ParentShowHint = False
ShowHint = True
OnClick = ScrollBox1Resize
OnMouseUp = OnePageButMouseUp
end
object TwoPageBut: TSpeedButton
Left = 621
Top = 4
Width = 25
Height = 25
Hint = 'Display Two pages side by side'
GroupIndex = 3
Caption = '&2'
ParentShowHint = False
ShowHint = True
OnClick = TwoPageButClick
end
object FitPageBut: TSpeedButton
Left = 340
Top = 4
Width = 25
Height = 25
Hint = 'Fit to Page'
AllowAllUp = True
GroupIndex = 4
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
8000008000000080800080000000800080008080000080808000C0C0C0000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FF0000000000
00FFFF0FFFFFFFFFF0FFFF0FFFFFFFFFF0FFFF0F00000000F0FFFF0FFFFFFFFF
F0FFFF0FFFFFFFFFF0FFFF0F00000000F0FFFF0FFFFFFFFFF0FFFF0FFFFFFFFF
F0FFFF0F00000000F0FFFF0FFFFFFFFFF0FFFF0FFFFFFFFFF0FFFF0F00000000
F0FFFF0FFFFFFFFFF0FFFF0FFFFFFFFFF0FFFF000000000000FF}
ParentShowHint = False
ShowHint = True
OnClick = FitPageButClick
end
object FitWidthBut: TSpeedButton
Left = 365
Top = 4
Width = 25
Height = 25
Hint = 'Fit to Width'
AllowAllUp = True
GroupIndex = 4
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
8000008000000080800080000000800080008080000080808000C0C0C0000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF0FF0000000000FF00FFFFFFFFFFFFFF00FFFFFFFFFFF
FFF00FFFFFFFFFFFFFF00FF0000000000FF00FFFFFFFFFFFFFF00FFFFFFFFFFF
FFF00FFFFFFFFFFFFFF00FF0000000000FF00FFFFFFFFFFFFFF00FFFFFFFFFFF
FFF00000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
ParentShowHint = False
ShowHint = True
OnClick = FitWidthButClick
end
object Bevel1: TBevel
Left = 0
Top = 33
Width = 734
Height = 2
Align = alBottom
Shape = bsBottomLine
end
object Bevel2: TBevel
Left = 220
Top = 2
Width = 2
Height = 28
end
object Bevel3: TBevel
Left = 332
Top = 2
Width = 2
Height = 28
end
object Bevel4: TBevel
Left = 520
Top = 2
Width = 2
Height = 28
end
object Bevel5: TBevel
Left = 588
Top = 2
Width = 2
Height = 28
end
object Bevel6: TBevel
Left = 652
Top = 2
Width = 2
Height = 28
end
object Bevel7: TBevel
Left = 423
Top = 2
Width = 2
Height = 28
end
object PrintBut: TBitBtn
Left = 5
Top = 4
Width = 76
Height = 25
Hint = 'Print the Current Document'
Caption = '&Print...'
TabOrder = 0
OnClick = PrintButClick
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00222222222222
22222200000000000222207777777770702200000000000007020777777BBB77
0002077777788877070200000000000007700777777777707070200000000007
0700220FFFFFFFF070702220F00000F000022220FFFFFFFF022222220F00000F
022222220FFFFFFFF02222222000000000222222222222222222}
Spacing = 8
end
object NextPageBut: TBitBtn
Left = 148
Top = 4
Width = 66
Height = 25
Hint = 'Advance to Next Page in Document'
Caption = '&Next'
TabOrder = 1
OnClick = NextPageButClick
Glyph.Data = {
66010000424D6601000000000000760000002800000014000000140000000100
040000000000F000000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
3333333300003333333333333333333300003333330033333333333300003333
330E03333333333300003333330EE0333333333300003333330EEE0333333333
00003333330EEEE03333333300003333330EEEEE0333333300003333330EEEEE
E033333300003333330EEEEEEE03333300003333330EEEEEEE03333300003333
330EEEEEE033333300003333330EEEEE0333333300003333330EEEE033333333
00003333330EEE033333333300003333330EE0333333333300003333330E0333
3333333300003333330033333333333300003333333333333333333300003333
33333333333333330000}
Layout = blGlyphRight
Margin = 4
Spacing = 2
end
object PrevPageBut: TBitBtn
Left = 82
Top = 4
Width = 65
Height = 25
Hint = 'Move to Previous Page in Document'
Caption = 'Pre&v'
Enabled = False
TabOrder = 2
OnClick = PrevPageButClick
Glyph.Data = {
66010000424D6601000000000000760000002800000014000000140000000100
040000000000F000000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
3333333300003333333333333333333300003333333333300333333300003333
3333330E0333333300003333333330EE033333330000333333330EEE03333333
000033333330EEEE0333333300003333330EEEEE033333330000333330EEEEEE
03333333000033330EEEEEEE03333333000033330EEEEEEE0333333300003333
30EEEEEE0333333300003333330EEEEE03333333000033333330EEEE03333333
0000333333330EEE0333333300003333333330EE03333333000033333333330E
0333333300003333333333300333333300003333333333333333333300003333
33333333333333330000}
Margin = 6
Spacing = 2
end
object CloseBut: TBitBtn
Left = 660
Top = 4
Width = 61
Height = 25
Hint = 'Close the Print Preview window'
Cancel = True
Caption = '&Close'
TabOrder = 3
OnClick = CloseButClick
Glyph.Data = {
F6010000424DF601000000000000760000002800000030000000100000000100
0400000000008001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00330000000000
0333330000000000033333000000000003333306666666660333330FFFFFFFFF
033333077777777703333306666666660333330FFFFFFFFF0333330777777777
03333306666666660333330FFFFFFFFF03333307777777770333330666666666
0333330FFFFFFFFF033333077777777703333306666666660333330FFFFFFFFF
033333077777777703333306666666660333330FFFFFFFFF0333330777777777
03333306666666060333330FFFFFFF0F03333307777777870333330666666666
0333330FFFFFFFFF033333077777777703333306666666660333330FFFFFFFFF
0333330777777777033333066FFFFF660333330FF00000FF0333330778888877
033333066FFFFF660333330FF00000FF0333330778888877033333066FFFFF66
0333330FF00000FF033333077888887703333306666666660333330FFFFFFFFF
033333077777777703333306666666660333330FFFFFFFFF0333330777777777
0333330000000000033333000000000003333300000000000333}
NumGlyphs = 3
end
object ZoomBox: TComboBox
Left = 228
Top = 6
Width = 97
Height = 21
Style = csDropDownList
ItemHeight = 13
TabOrder = 4
OnChange = ZoomBoxChange
Items.Strings = (
'Fit To Page'
'Fit To Width'
'Custom'
'25%'
'50%'
'75%'
'100%'
'125%'
'150%'
'200%'
'300%'
'400%')
end
object UnitsBox: TComboBox
Left = 431
Top = 6
Width = 81
Height = 21
Style = csDropDownList
ItemHeight = 13
TabOrder = 5
OnChange = UnitsBoxChange
Items.Strings = (
'Inches'
'Centimeters')
end
end
object StatBarPanel: TPanel
Left = 0
Top = 484
Width = 734
Height = 27
Align = alBottom
BevelOuter = bvNone
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = []
ParentFont = False
TabOrder = 1
object CurPageLabel: TPanel
Left = 133
Top = 0
Width = 101
Height = 27
Hint = 'Displays the Current Page of the Document'
Align = alLeft
BevelOuter = bvLowered
Caption = 'CurPageLabel'
TabOrder = 0
end
object ZoomLabel: TPanel
Left = 234
Top = 0
Width = 88
Height = 27
Hint = 'Displays the Current Zoom Level (100% = normal)'
Align = alLeft
BevelOuter = bvLowered
Caption = 'ZoomLabel'
TabOrder = 1
end
object Panel1: TPanel
Left = 322
Top = 0
Width = 412
Height = 27
Hint = 'Displays Help for the object beneath the mouse'
Align = alClient
BevelOuter = bvLowered
TabOrder = 2
object HintLabel: TLabel
Left = 8
Top = 5
Width = 44
Height = 14
Hint = 'Displays Help for the object beneath the mouse'
Caption = 'HintLabel'
end
end
object MoveButPanel: TPanel
Left = 0
Top = 0
Width = 133
Height = 27
Align = alLeft
BevelOuter = bvNone
Caption = 'MoveButPanel'
TabOrder = 3
object FirstPageSpeed: TSpeedButton
Left = 1
Top = 2
Width = 25
Height = 25
Hint = 'Go to First Page in Document'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Times New Roman'
Font.Style = []
Glyph.Data = {
F6010000424DF601000000000000760000002800000030000000100000000100
0400000000008001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00330000333330
033333000033333003333388883333388333330EE033330E0333330FF033330F
03333387783333878333330EE03330EE0333330FF03330FF0333338778333877
8333330EE0330EEE0333330FF0330FFF03333387783387778333330EE030EEEE
0333330FF030FFFF03333387783877778333330EE00EEEEE0333330FF00FFFFF
03333387788777778333330EE0EEEEEE0333330FF0FFFFFF0333338778777777
8333330EEEEEEEEE0333330FFFFFFFFF03333387777777778333330EEEEEEEEE
0333330FFFFFFFFF03333387777777778333330EE0EEEEEE0333330FF0FFFFFF
03333387787777778333330EE00EEEEE0333330FF00FFFFF0333338778877777
8333330EE030EEEE0333330FF030FFFF03333387783877778333330EE0330EEE
0333330FF0330FFF03333387783387778333330EE03330EE0333330FF03330FF
03333387783338778333330EE033330E0333330FF033330F0333338778333387
8333330000333330033333000033333003333388883333388333}
NumGlyphs = 3
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = FirstPageSpeedClick
end
object PrevPageSpeed: TSpeedButton
Left = 26
Top = 2
Width = 25
Height = 25
Hint = 'Move to Previous Page in Document'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Times New Roman'
Font.Style = []
Glyph.Data = {
F6010000424DF601000000000000760000002800000030000000100000000100
0400000000008001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333300
3333333333333300333333333333338833333333333330E033333333333330F0
33333333333338783333333333330EE03333333333330FF03333333333338778
333333333330EEE0333333333330FFF0333333333338777833333333330EEEE0
33333333330FFFF033333333338777783333333330EEEEE03333333330FFFFF0
3333333338777778333333330EEEEEE0333333330FFFFFF03333333387777778
33333330EEEEEEE033333330FFFFFFF0333333387777777833333330EEEEEEE0
33333330FFFFFFF03333333877777778333333330EEEEEE0333333330FFFFFF0
33333333877777783333333330EEEEE03333333330FFFFF03333333338777778
33333333330EEEE033333333330FFFF03333333333877778333333333330EEE0
333333333330FFF033333333333877783333333333330EE03333333333330FF0
333333333333877833333333333330E033333333333330F03333333333333878
3333333333333300333333333333330033333333333333883333}
NumGlyphs = 3
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = PrevPageButClick
end
object NextPageSpeed: TSpeedButton
Left = 51
Top = 2
Width = 25
Height = 25
Hint = 'Advance to Next Page in Document'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Times New Roman'
Font.Style = []
Glyph.Data = {
F6010000424DF601000000000000760000002800000030000000100000000100
0400000000008001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333300333333
33333333003333333333333388333333333333330E033333333333330F033333
3333333387833333333333330EE03333333333330FF033333333333387783333
333333330EEE0333333333330FFF03333333333387778333333333330EEEE033
333333330FFFF0333333333387777833333333330EEEEE03333333330FFFFF03
3333333387777783333333330EEEEEE0333333330FFFFFF03333333387777778
333333330EEEEEEE033333330FFFFFFF0333333387777777833333330EEEEEEE
033333330FFFFFFF0333333387777777833333330EEEEEE0333333330FFFFFF0
3333333387777778333333330EEEEE03333333330FFFFF033333333387777783
333333330EEEE033333333330FFFF0333333333387777833333333330EEE0333
333333330FFF03333333333387778333333333330EE03333333333330FF03333
3333333387783333333333330E033333333333330F0333333333333387833333
3333333300333333333333330033333333333333883333333333}
NumGlyphs = 3
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = NextPageButClick
end
object LastPageSpeed: TSpeedButton
Left = 76
Top = 2
Width = 25
Height = 25
Hint = 'Go to Last Page in Document'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Times New Roman'
Font.Style = []
Glyph.Data = {
F6010000424DF601000000000000760000002800000030000000100000000100
0400000000008001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333003333300
0033333003333300003333388333338888333330E033330EE0333330F033330F
F03333387833338778333330EE03330EE0333330FF03330FF033333877833387
78333330EEE0330EE0333330FFF0330FF03333387778338778333330EEEE030E
E0333330FFFF030FF03333387777838778333330EEEEE00EE0333330FFFFF00F
F03333387777788778333330EEEEEE0EE0333330FFFFFF0FF033333877777787
78333330EEEEEEEEE0333330FFFFFFFFF03333387777777778333330EEEEEEEE
E0333330FFFFFFFFF03333387777777778333330EEEEEE0EE0333330FFFFFF0F
F03333387777778778333330EEEEE00EE0333330FFFFF00FF033333877777887
78333330EEEE030EE0333330FFFF030FF03333387777838778333330EEE0330E
E0333330FFF0330FF03333387778338778333330EE03330EE0333330FF03330F
F03333387783338778333330E033330EE0333330F033330FF033333878333387
7833333003333300003333300333330000333338833333888833}
NumGlyphs = 3
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = LastPageSpeedClick
end
object PageNumSpeed: TSpeedButton
Left = 101
Top = 2
Width = 25
Height = 25
Hint = 'Go to Page by Page Number'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Times New Roman'
Font.Style = []
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
0400000000000001000000000000000000001000000010000000000000000000
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00300000000000
003337777777777777F330FFFFFFFFFFF03337F33F333F3337F330FF0FFF0FFF
F03337F37F337F3337F330FF0FFF0FFFF03337F37FFF7FFF37F330F00000000F
F03337F77777777337F330FFF0FFF0FFF03337F337F337F337F330FFF0FFF0FF
F03337F337FFF7FFF7F330FF00000000F03337F37777777737F330FFFF0FFF0F
F03337F3337F337F37F330FFFF0FFF0FF03337F33373337337F330FFFFFFFFFF
F03337F33333333FF7F330FFFFFFFF00003337F33333337777F330FFFFFFFF0F
F03337FFFFFFFF7F373330999999990F033337777777777F733330FFFFFFFF00
333337FFFFFFFF77333330000000000333333777777777733333}
NumGlyphs = 2
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = PageNumSpeedClick
end
end
end
object ScrollBox1: TScrollBox
Left = 0
Top = 35
Width = 734
Height = 449
HorzScrollBar.Tracking = True
VertScrollBar.Tracking = True
Align = alClient
BorderStyle = bsNone
Color = clBtnFace
ParentColor = False
TabOrder = 2
OnResize = ScrollBox1Resize
object ContainPanel: TPanel
Left = 0
Top = 0
Width = 489
Height = 329
BevelOuter = bvNone
Color = clBtnShadow
TabOrder = 0
object PagePanel: TPanel
Left = 44
Top = 32
Width = 209
Height = 265
BevelOuter = bvNone
Color = clWindow
TabOrder = 0
object PB1: TPaintBox
Left = 0
Top = 0
Width = 209
Height = 265
Hint =
'Page View. With Zoom Tool, left or right click to zoom in/out. ' +
' Click && drag with Hand Tool to pan.'
Align = alClient
OnMouseDown = PB1MouseDown
OnMouseMove = PB1MouseMove
OnMouseUp = PB1MouseUp
OnPaint = PBPaint
end
end
object PagePanel2: TPanel
Left = 260
Top = 32
Width = 209
Height = 265
BevelOuter = bvNone
Color = clWindow
TabOrder = 1
Visible = False
object PB2: TPaintBox
Left = 0
Top = 0
Width = 209
Height = 265
Hint =
'Page View. With Zoom Tool, left or right click to zoom in/out. ' +
' Click && drag with Hand Tool to pan.'
Align = alClient
OnPaint = PBPaint
end
end
end
end
object PrintDialog1: TPrintDialog
FromPage = 1
MinPage = 1
Options = [poPrintToFile, poPageNums]
Left = 538
Top = 90
end
end

View File

@ -0,0 +1,665 @@
object PreviewForm: TPreviewForm
Left = 361
Top = 158
Width = 734
Height = 511
Caption = 'Preview Form'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Style = []
Icon.Data = {
0000010001002020100000000000E80200001600000028000000200000004000
0000010004000000000080020000000000000000000000000000000000000000
0000000080000080000000808000800000008000800080800000C0C0C0008080
80000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000FFFFFFFFFFFFFF000000000000000000FCCCCCCCCCCCCF00000000000000
0000FFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFF00000000000000
0000FFFFFFFFFFFFFF000000000000000000FCCCCCCCCCCCCF00000000000000
0000FFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFF000000000000000
0000FFFFFFFFFFFF00000000000000000000FCCCCCCCCCC00F00000000000000
0000FFFFF0000F00FF000000000000000000FFFF0777700FFF00000000000000
0000FFF07777770FFF000000000000000000FC0777777770CF00000000000000
0000FF0444444440FF000000000000000000FF0444444440FF00000000000000
0000FF0444444440FF000000000000000000FC0777777770CF00000000000000
0000FFF07777770FFF000000000000000000FFFF077770FFFF00000000000000
0000FFFFF0000FFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0001FFFE0001FFFE0001F7FE00
01E7FE0001CFFE00019FFE00013FFE00007FFE0000FFFE0001FFFE0001FFFE00
01FFFE0001FFFE0001FFFE0001FFFE0001FFFE0001FFFE0001FFFE0001FFFE00
01FFFE0001FFFE0001FFFE0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
WindowState = wsMaximized
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
object ToolBarPanel: TPanel
Left = 0
Top = 0
Width = 734
Height = 35
Align = alTop
BevelOuter = bvNone
TabOrder = 0
object GridBut: TSpeedButton
Left = 391
Top = 4
Width = 25
Height = 25
Hint = 'Show/Hide Grid'
AllowAllUp = True
GroupIndex = 1
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
BF0000BF000000BFBF00BF000000BF00BF00BFBF0000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00777777777777
7777777877877877877777787787787787777880880880880887777877877877
8777777877877877877778808808808808877778778778778777777877877877
8777788088088088088777787787787787777778778778778777788088088088
0887777877877877877777787787787787777777777777777777}
ParentShowHint = False
ShowHint = True
OnClick = GridButClick
end
object ZoomCursorBut: TSpeedButton
Left = 532
Top = 4
Width = 25
Height = 25
Hint = 'Selects the Zoom Tool to zoom in or out'
GroupIndex = 2
Down = True
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
0400000000000001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
33033333333333333F8F3333333333333000333333333333F888333333333333
000333333333333F888333333333333000333333333333F88833333333333300
033333333FFF3F888333333800083B803333333F8883F88833333308888800B3
33333388333888833333308F7F7F8033333338F333F338F3333388F7F9F7F883
3333383338F3383F3333087F797F780333338F33F8FFF38F333308F99999F803
33338F388888338F3333087F797F7803333383F338F33383333388F7F9F7F883
333338F3383338F33333308F7F7F80333333383FF333F8333333330888880333
333333883FF88333333333380008333333333333888333333333}
NumGlyphs = 2
ParentShowHint = False
ShowHint = True
OnClick = ZoomCursorButClick
end
object HandCursorBut: TSpeedButton
Left = 558
Top = 4
Width = 25
Height = 25
Hint = 'Selects the Hand Tool to pan across the Page'
GroupIndex = 2
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333300000003
33333330FFFFFFF03333330FFFFFFFFF0333330FFFFFFF0FF033330FFFFFFF00
FF03330FFFFFFF030F03330F0F0F0F033003330F0F0F0F033333330F0F0F0F03
3333330F0F0F0F033333330F0F0F0F03333333300F0F0F03333333330F0F0F03
33333333000F0F0333333333330F003333333333330003333333}
ParentShowHint = False
ShowHint = True
OnClick = HandCursorButClick
end
object OnePageBut: TSpeedButton
Left = 595
Top = 4
Width = 25
Height = 25
Hint = 'Display One page at a time'
GroupIndex = 3
Down = True
Caption = '&1'
ParentShowHint = False
ShowHint = True
OnClick = ScrollBox1Resize
OnMouseUp = OnePageButMouseUp
end
object TwoPageBut: TSpeedButton
Left = 621
Top = 4
Width = 25
Height = 25
Hint = 'Display Two pages side by side'
GroupIndex = 3
Caption = '&2'
ParentShowHint = False
ShowHint = True
OnClick = TwoPageButClick
end
object FitPageBut: TSpeedButton
Left = 340
Top = 4
Width = 25
Height = 25
Hint = 'Fit to Page'
AllowAllUp = True
GroupIndex = 4
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
8000008000000080800080000000800080008080000080808000C0C0C0000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FF0000000000
00FFFF0FFFFFFFFFF0FFFF0FFFFFFFFFF0FFFF0F00000000F0FFFF0FFFFFFFFF
F0FFFF0FFFFFFFFFF0FFFF0F00000000F0FFFF0FFFFFFFFFF0FFFF0FFFFFFFFF
F0FFFF0F00000000F0FFFF0FFFFFFFFFF0FFFF0FFFFFFFFFF0FFFF0F00000000
F0FFFF0FFFFFFFFFF0FFFF0FFFFFFFFFF0FFFF000000000000FF}
ParentShowHint = False
ShowHint = True
OnClick = FitPageButClick
end
object FitWidthBut: TSpeedButton
Left = 365
Top = 4
Width = 25
Height = 25
Hint = 'Fit to Width'
AllowAllUp = True
GroupIndex = 4
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
8000008000000080800080000000800080008080000080808000C0C0C0000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF0FF0000000000FF00FFFFFFFFFFFFFF00FFFFFFFFFFF
FFF00FFFFFFFFFFFFFF00FF0000000000FF00FFFFFFFFFFFFFF00FFFFFFFFFFF
FFF00FFFFFFFFFFFFFF00FF0000000000FF00FFFFFFFFFFFFFF00FFFFFFFFFFF
FFF00000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
ParentShowHint = False
ShowHint = True
OnClick = FitWidthButClick
end
object Bevel1: TBevel
Left = 0
Top = 33
Width = 734
Height = 2
Align = alBottom
Shape = bsBottomLine
end
object Bevel2: TBevel
Left = 220
Top = 2
Width = 2
Height = 28
end
object Bevel3: TBevel
Left = 332
Top = 2
Width = 2
Height = 28
end
object Bevel4: TBevel
Left = 520
Top = 2
Width = 2
Height = 28
end
object Bevel5: TBevel
Left = 588
Top = 2
Width = 2
Height = 28
end
object Bevel6: TBevel
Left = 652
Top = 2
Width = 2
Height = 28
end
object Bevel7: TBevel
Left = 423
Top = 2
Width = 2
Height = 28
end
object PrintBut: TBitBtn
Left = 5
Top = 4
Width = 76
Height = 25
Hint = 'Print the Current Document'
Caption = '&Print...'
TabOrder = 0
OnClick = PrintButClick
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00222222222222
22222200000000000222207777777770702200000000000007020777777BBB77
0002077777788877070200000000000007700777777777707070200000000007
0700220FFFFFFFF070702220F00000F000022220FFFFFFFF022222220F00000F
022222220FFFFFFFF02222222000000000222222222222222222}
Spacing = 8
end
object NextPageBut: TBitBtn
Left = 148
Top = 4
Width = 66
Height = 25
Hint = 'Advance to Next Page in Document'
Caption = '&Next'
TabOrder = 1
OnClick = NextPageButClick
Glyph.Data = {
66010000424D6601000000000000760000002800000014000000140000000100
040000000000F000000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
3333333300003333333333333333333300003333330033333333333300003333
330E03333333333300003333330EE0333333333300003333330EEE0333333333
00003333330EEEE03333333300003333330EEEEE0333333300003333330EEEEE
E033333300003333330EEEEEEE03333300003333330EEEEEEE03333300003333
330EEEEEE033333300003333330EEEEE0333333300003333330EEEE033333333
00003333330EEE033333333300003333330EE0333333333300003333330E0333
3333333300003333330033333333333300003333333333333333333300003333
33333333333333330000}
Layout = blGlyphRight
Margin = 4
Spacing = 2
end
object PrevPageBut: TBitBtn
Left = 82
Top = 4
Width = 65
Height = 25
Hint = 'Move to Previous Page in Document'
Caption = 'Pre&v'
Enabled = False
TabOrder = 2
OnClick = PrevPageButClick
Glyph.Data = {
66010000424D6601000000000000760000002800000014000000140000000100
040000000000F000000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
3333333300003333333333333333333300003333333333300333333300003333
3333330E0333333300003333333330EE033333330000333333330EEE03333333
000033333330EEEE0333333300003333330EEEEE033333330000333330EEEEEE
03333333000033330EEEEEEE03333333000033330EEEEEEE0333333300003333
30EEEEEE0333333300003333330EEEEE03333333000033333330EEEE03333333
0000333333330EEE0333333300003333333330EE03333333000033333333330E
0333333300003333333333300333333300003333333333333333333300003333
33333333333333330000}
Margin = 6
Spacing = 2
end
object CloseBut: TBitBtn
Left = 660
Top = 4
Width = 61
Height = 25
Hint = 'Close the Print Preview window'
Cancel = True
Caption = '&Close'
TabOrder = 3
OnClick = CloseButClick
Glyph.Data = {
F6010000424DF601000000000000760000002800000030000000100000000100
0400000000008001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00330000000000
0333330000000000033333000000000003333306666666660333330FFFFFFFFF
033333077777777703333306666666660333330FFFFFFFFF0333330777777777
03333306666666660333330FFFFFFFFF03333307777777770333330666666666
0333330FFFFFFFFF033333077777777703333306666666660333330FFFFFFFFF
033333077777777703333306666666660333330FFFFFFFFF0333330777777777
03333306666666060333330FFFFFFF0F03333307777777870333330666666666
0333330FFFFFFFFF033333077777777703333306666666660333330FFFFFFFFF
0333330777777777033333066FFFFF660333330FF00000FF0333330778888877
033333066FFFFF660333330FF00000FF0333330778888877033333066FFFFF66
0333330FF00000FF033333077888887703333306666666660333330FFFFFFFFF
033333077777777703333306666666660333330FFFFFFFFF0333330777777777
0333330000000000033333000000000003333300000000000333}
NumGlyphs = 3
end
object ZoomBox: TComboBox
Left = 228
Top = 6
Width = 97
Height = 21
Style = csDropDownList
ItemHeight = 13
TabOrder = 4
OnChange = ZoomBoxChange
Items.Strings = (
'Fit To Page'
'Fit To Width'
'Custom'
'25%'
'50%'
'75%'
'100%'
'125%'
'150%'
'200%'
'300%'
'400%')
end
object UnitsBox: TComboBox
Left = 431
Top = 6
Width = 81
Height = 21
Style = csDropDownList
ItemHeight = 13
TabOrder = 5
OnChange = UnitsBoxChange
Items.Strings = (
'Inches'
'Centimeters')
end
end
object StatBarPanel: TPanel
Left = 0
Top = 484
Width = 734
Height = 27
Align = alBottom
BevelOuter = bvNone
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Style = []
ParentFont = False
TabOrder = 1
object CurPageLabel: TPanel
Left = 133
Top = 0
Width = 101
Height = 27
Hint = 'Displays the Current Page of the Document'
Align = alLeft
BevelOuter = bvLowered
Caption = 'CurPageLabel'
TabOrder = 0
end
object ZoomLabel: TPanel
Left = 234
Top = 0
Width = 88
Height = 27
Hint = 'Displays the Current Zoom Level (100% = normal)'
Align = alLeft
BevelOuter = bvLowered
Caption = 'ZoomLabel'
TabOrder = 1
end
object Panel1: TPanel
Left = 322
Top = 0
Width = 412
Height = 27
Hint = 'Displays Help for the object beneath the mouse'
Align = alClient
BevelOuter = bvLowered
TabOrder = 2
object HintLabel: TLabel
Left = 8
Top = 5
Width = 44
Height = 14
Hint = 'Displays Help for the object beneath the mouse'
Caption = 'HintLabel'
end
end
object MoveButPanel: TPanel
Left = 0
Top = 0
Width = 133
Height = 27
Align = alLeft
BevelOuter = bvNone
Caption = 'MoveButPanel'
TabOrder = 3
object FirstPageSpeed: TSpeedButton
Left = 1
Top = 2
Width = 25
Height = 25
Hint = 'Go to First Page in Document'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Style = []
Glyph.Data = {
F6010000424DF601000000000000760000002800000030000000100000000100
0400000000008001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00330000333330
033333000033333003333388883333388333330EE033330E0333330FF033330F
03333387783333878333330EE03330EE0333330FF03330FF0333338778333877
8333330EE0330EEE0333330FF0330FFF03333387783387778333330EE030EEEE
0333330FF030FFFF03333387783877778333330EE00EEEEE0333330FF00FFFFF
03333387788777778333330EE0EEEEEE0333330FF0FFFFFF0333338778777777
8333330EEEEEEEEE0333330FFFFFFFFF03333387777777778333330EEEEEEEEE
0333330FFFFFFFFF03333387777777778333330EE0EEEEEE0333330FF0FFFFFF
03333387787777778333330EE00EEEEE0333330FF00FFFFF0333338778877777
8333330EE030EEEE0333330FF030FFFF03333387783877778333330EE0330EEE
0333330FF0330FFF03333387783387778333330EE03330EE0333330FF03330FF
03333387783338778333330EE033330E0333330FF033330F0333338778333387
8333330000333330033333000033333003333388883333388333}
NumGlyphs = 3
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = FirstPageSpeedClick
end
object PrevPageSpeed: TSpeedButton
Left = 26
Top = 2
Width = 25
Height = 25
Hint = 'Move to Previous Page in Document'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Style = []
Glyph.Data = {
F6010000424DF601000000000000760000002800000030000000100000000100
0400000000008001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333300
3333333333333300333333333333338833333333333330E033333333333330F0
33333333333338783333333333330EE03333333333330FF03333333333338778
333333333330EEE0333333333330FFF0333333333338777833333333330EEEE0
33333333330FFFF033333333338777783333333330EEEEE03333333330FFFFF0
3333333338777778333333330EEEEEE0333333330FFFFFF03333333387777778
33333330EEEEEEE033333330FFFFFFF0333333387777777833333330EEEEEEE0
33333330FFFFFFF03333333877777778333333330EEEEEE0333333330FFFFFF0
33333333877777783333333330EEEEE03333333330FFFFF03333333338777778
33333333330EEEE033333333330FFFF03333333333877778333333333330EEE0
333333333330FFF033333333333877783333333333330EE03333333333330FF0
333333333333877833333333333330E033333333333330F03333333333333878
3333333333333300333333333333330033333333333333883333}
NumGlyphs = 3
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = PrevPageButClick
end
object NextPageSpeed: TSpeedButton
Left = 51
Top = 2
Width = 25
Height = 25
Hint = 'Advance to Next Page in Document'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Style = []
Glyph.Data = {
F6010000424DF601000000000000760000002800000030000000100000000100
0400000000008001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333300333333
33333333003333333333333388333333333333330E033333333333330F033333
3333333387833333333333330EE03333333333330FF033333333333387783333
333333330EEE0333333333330FFF03333333333387778333333333330EEEE033
333333330FFFF0333333333387777833333333330EEEEE03333333330FFFFF03
3333333387777783333333330EEEEEE0333333330FFFFFF03333333387777778
333333330EEEEEEE033333330FFFFFFF0333333387777777833333330EEEEEEE
033333330FFFFFFF0333333387777777833333330EEEEEE0333333330FFFFFF0
3333333387777778333333330EEEEE03333333330FFFFF033333333387777783
333333330EEEE033333333330FFFF0333333333387777833333333330EEE0333
333333330FFF03333333333387778333333333330EE03333333333330FF03333
3333333387783333333333330E033333333333330F0333333333333387833333
3333333300333333333333330033333333333333883333333333}
NumGlyphs = 3
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = NextPageButClick
end
object LastPageSpeed: TSpeedButton
Left = 76
Top = 2
Width = 25
Height = 25
Hint = 'Go to Last Page in Document'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Style = []
Glyph.Data = {
F6010000424DF601000000000000760000002800000030000000100000000100
0400000000008001000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333003333300
0033333003333300003333388333338888333330E033330EE0333330F033330F
F03333387833338778333330EE03330EE0333330FF03330FF033333877833387
78333330EEE0330EE0333330FFF0330FF03333387778338778333330EEEE030E
E0333330FFFF030FF03333387777838778333330EEEEE00EE0333330FFFFF00F
F03333387777788778333330EEEEEE0EE0333330FFFFFF0FF033333877777787
78333330EEEEEEEEE0333330FFFFFFFFF03333387777777778333330EEEEEEEE
E0333330FFFFFFFFF03333387777777778333330EEEEEE0EE0333330FFFFFF0F
F03333387777778778333330EEEEE00EE0333330FFFFF00FF033333877777887
78333330EEEE030EE0333330FFFF030FF03333387777838778333330EEE0330E
E0333330FFF0330FF03333387778338778333330EE03330EE0333330FF03330F
F03333387783338778333330E033330EE0333330F033330FF033333878333387
7833333003333300003333300333330000333338833333888833}
NumGlyphs = 3
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = LastPageSpeedClick
end
object PageNumSpeed: TSpeedButton
Left = 101
Top = 2
Width = 25
Height = 25
Hint = 'Go to Page by Page Number'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Style = []
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
0400000000000001000000000000000000001000000010000000000000000000
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00300000000000
003337777777777777F330FFFFFFFFFFF03337F33F333F3337F330FF0FFF0FFF
F03337F37F337F3337F330FF0FFF0FFFF03337F37FFF7FFF37F330F00000000F
F03337F77777777337F330FFF0FFF0FFF03337F337F337F337F330FFF0FFF0FF
F03337F337FFF7FFF7F330FF00000000F03337F37777777737F330FFFF0FFF0F
F03337F3337F337F37F330FFFF0FFF0FF03337F33373337337F330FFFFFFFFFF
F03337F33333333FF7F330FFFFFFFF00003337F33333337777F330FFFFFFFF0F
F03337FFFFFFFF7F373330999999990F033337777777777F733330FFFFFFFF00
333337FFFFFFFF77333330000000000333333777777777733333}
NumGlyphs = 2
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = PageNumSpeedClick
end
end
end
object ScrollBox1: TScrollBox
Left = 0
Top = 35
Width = 734
Height = 449
HorzScrollBar.Tracking = True
VertScrollBar.Tracking = True
Align = alClient
BorderStyle = bsNone
Color = clBtnFace
ParentColor = False
TabOrder = 2
OnResize = ScrollBox1Resize
object ContainPanel: TPanel
Left = 0
Top = 0
Width = 489
Height = 329
BevelOuter = bvNone
Color = clBtnShadow
TabOrder = 0
object PagePanel: TPanel
Left = 44
Top = 32
Width = 209
Height = 265
BevelOuter = bvNone
Color = clWindow
TabOrder = 0
object PB1: TPaintBox
Left = 0
Top = 0
Width = 209
Height = 265
Hint =
'Page View. With Zoom Tool, left or right click to zoom in/out. ' +
' Click && drag with Hand Tool to pan.'
Align = alClient
OnMouseDown = PB1MouseDown
OnMouseMove = PB1MouseMove
OnMouseUp = PB1MouseUp
OnPaint = PBPaint
end
end
object PagePanel2: TPanel
Left = 260
Top = 32
Width = 209
Height = 265
BevelOuter = bvNone
Color = clWindow
TabOrder = 1
Visible = False
object PB2: TPaintBox
Left = 0
Top = 0
Width = 209
Height = 265
Hint =
'Page View. With Zoom Tool, left or right click to zoom in/out. ' +
' Click && drag with Hand Tool to pan.'
Align = alClient
OnPaint = PBPaint
end
end
end
end
object PrintDialog1: TPrintDialog
FromPage = 1
MinPage = 1
Options = [poPrintToFile, poPageNums]
Left = 538
Top = 90
end
end

View File

@ -0,0 +1,318 @@
LazarusResources.Add('TPreviewForm','FORMDATA',[
'TPF0'#12'TPreviewForm'#11'PreviewForm'#4'Left'#3'i'#1#3'Top'#3#158#0#5'Width'
+#3#222#2#6'Height'#3#255#1#7'Caption'#6#12'Preview Form'#5'Color'#7#9'clBtnF'
+'ace'#12'Font.Charset'#7#15'DEFAULT_CHARSET'#10'Font.Color'#7#12'clWindowTex'
+'t'#11'Font.Height'#2#245#10'Font.Style'#11#0#9'Icon.Data'#10#254#2#0#0#0#0#1
+#0#1#0' '#16#0#0#0#0#0#232#2#0#0#22#0#0#0'('#0#0#0' '#0#0#0'@'#0#0#0#1#0#4#0
+#0#0#0#0#128#2#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128#0
+#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#192#192#192#0#128#128#128#0
+#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255
+#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255
+#255#255#0#0#0#0#0#0#0#0#0#252#204#204#204#204#204#207#0#0#0#0#0#0#0#0#0#255
+#255#255#255#255#255#255#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#0#0#0
+#0#0#0#0#0#0#255#255#255#255#255#255#255#0#0#0#0#0#0#0#0#0#252#204#204#204
+#204#204#207#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#0#0#0#0#0#0#0#0#0
+#255#255#255#255#255#255#240#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#0#0#0
+#0#0#0#0#0#0#0#252#204#204#204#204#192#15#0#0#0#0#0#0#0#0#0#255#255#240#0#15
+#0#255#0#0#0#0#0#0#0#0#0#255#255#7'wp'#15#255#0#0#0#0#0#0#0#0#0#255#240'www'
+#15#255#0#0#0#0#0#0#0#0#0#252#7'wwwp'#207#0#0#0#0#0#0#0#0#0#255#4'DDD@'#255#0
+#0#0#0#0#0#0#0#0#255#4'DDD@'#255#0#0#0#0#0#0#0#0#0#255#4'DDD@'#255#0#0#0#0#0
+#0#0#0#0#252#7'wwwp'#207#0#0#0#0#0#0#0#0#0#255#240'www'#15#255#0#0#0#0#0#0#0
+#0#0#255#255#7'wp'#255#255#0#0#0#0#0#0#0#0#0#255#255#240#0#15#255#255#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#254#0#1#255#254#0#1#255#254#0#1#247#254#0#1#231#254#0#1#207
+#254#0#1#159#254#0#1'?'#254#0#0''#254#0#0#255#254#0#1#255#254#0#1#255#254#0
+#1#255#254#0#1#255#254#0#1#255#254#0#1#255#254#0#1#255#254#0#1#255#254#0#1
+#255#254#0#1#255#254#0#1#255#254#0#1#255#254#0#1#255#254#0#1#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#11'WindowState'#7#11'ws'
+'Maximized'#7'OnClose'#7#9'FormClose'#6'OnShow'#7#8'FormShow'#13'PixelsPerIn'
+'ch'#2'`'#0#6'TPanel'#12'ToolBarPanel'#4'Left'#2#0#3'Top'#2#0#5'Width'#3#222
+#2#6'Height'#2'#'#5'Align'#7#5'alTop'#10'BevelOuter'#7#6'bvNone'#8'TabOrder'
+#2#0#0#12'TSpeedButton'#7'GridBut'#4'Left'#3#135#1#3'Top'#2#4#5'Width'#2#25#6
+'Height'#2#25#4'Hint'#6#14'Show/Hide Grid'#10'AllowAllUp'#9#10'GroupIndex'#2
+#1#10'Glyph.Data'#10#250#0#0#0#246#0#0#0'BM'#246#0#0#0#0#0#0#0'v'#0#0#0'('#0
+#0#0#16#0#0#0#16#0#0#0#1#0#4#0#0#0#0#0#128#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16
+#0#0#0#0#0#0#0#0#0#191#0#0#191#0#0#0#191#191#0#191#0#0#0#191#0#191#0#191#191
+#0#0#192#192#192#0#128#128#128#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0
+#255#0#255#0#255#255#0#0#255#255#255#0'wwwwwwwwwxw'#135'xw'#135'wwxw'#135'xw'
+#135'wx'#128#136#8#128#136#8#135'wxw'#135'xw'#135'wwxw'#135'xw'#135'wx'#128
+#136#8#128#136#8#135'wxw'#135'xw'#135'wwxw'#135'xw'#135'wx'#128#136#8#128#136
+#8#135'wxw'#135'xw'#135'wwxw'#135'xw'#135'wx'#128#136#8#128#136#8#135'wxw'
+#135'xw'#135'wwxw'#135'xw'#135'wwwwwwwww'#14'ParentShowHint'#8#8'ShowHint'#9
+#7'OnClick'#7#12'GridButClick'#0#0#12'TSpeedButton'#13'ZoomCursorBut'#4'Left'
+#3#20#2#3'Top'#2#4#5'Width'#2#25#6'Height'#2#25#4'Hint'#6'''Selects the Zoom'
+' Tool to zoom in or out'#10'GroupIndex'#2#2#4'Down'#9#10'Glyph.Data'#10'z'#1
+#0#0'v'#1#0#0'BMv'#1#0#0#0#0#0#0'v'#0#0#0'('#0#0#0' '#0#0#0#16#0#0#0#1#0#4#0
+#0#0#0#0#0#1#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#128#0#0#128#0
+#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#192#192#192#0#128#128#128#0
+#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255
+#255#0'3333333'#3'333333?'#143'3333330'#0'333333'#248#136'333333'#0#3'33333?'
+#136#131'333330'#0'333333'#248#136'333333'#0#3'333?'#255'?'#136#131'338'#0#8
+';'#128'333?'#136#131#248#136'333'#8#136#136#0#179'333'#136'38'#136#131'330'
+#143''#128'3338'#243'3'#243'8'#243'33'#136#247#249#247#248#131'33838'#243
+'8?33'#8'yx'#3'33'#143'3'#248#255#243#143'33'#8#249#153#153#248#3'33'#143
+'8'#136#136'3'#143'33'#8'yx'#3'33'#131#243'8'#243'3'#131'33'#136#247#249
+#247#248#131'338'#243'838'#243'330'#143''#128'3338?'#243'3'#248'3333'#8#136
+#136#3'3333'#136'?'#248#131'33338'#0#8'333333'#136#131'3333'#9'NumGlyphs'#2#2
+#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#18'ZoomCursorButClick'#0#0
+#12'TSpeedButton'#13'HandCursorBut'#4'Left'#3'.'#2#3'Top'#2#4#5'Width'#2#25#6
+'Height'#2#25#4'Hint'#6',Selects the Hand Tool to pan across the Page'#10'Gr'
+'oupIndex'#2#2#10'Glyph.Data'#10#250#0#0#0#246#0#0#0'BM'#246#0#0#0#0#0#0#0'v'
+#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0#4#0#0#0#0#0#128#0#0#0#0#0#0#0#0#0#0#0
,#16#0#0#0#16#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0#0#0#128#0
+#128#0#128#128#0#0#192#192#192#0#128#128#128#0#0#0#255#0#0#255#0#0#0#255#255
+#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0'33'#0#0#0#3'3330'#255#255
+#255#240'333'#15#255#255#255#255#3'33'#15#255#255#255#15#240'33'#15#255#255
+#255#0#255#3'3'#15#255#255#255#3#15#3'3'#15#15#15#15#3'0'#3'3'#15#15#15#15#3
+'333'#15#15#15#15#3'333'#15#15#15#15#3'333'#15#15#15#15#3'3330'#15#15#15#3'3'
+'333'#15#15#15#3'3333'#0#15#15#3'33333'#15#0'333333'#0#3'333'#14'ParentShowH'
+'int'#8#8'ShowHint'#9#7'OnClick'#7#18'HandCursorButClick'#0#0#12'TSpeedButto'
+'n'#10'OnePageBut'#4'Left'#3'S'#2#3'Top'#2#4#5'Width'#2#25#6'Height'#2#25#4
+'Hint'#6#26'Display One page at a time'#10'GroupIndex'#2#3#4'Down'#9#7'Capti'
+'on'#6#2'&1'#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#16'ScrollBox1Re'
+'size'#9'OnMouseUp'#7#17'OnePageButMouseUp'#0#0#12'TSpeedButton'#10'TwoPageB'
+'ut'#4'Left'#3'm'#2#3'Top'#2#4#5'Width'#2#25#6'Height'#2#25#4'Hint'#6#30'Dis'
+'play Two pages side by side'#10'GroupIndex'#2#3#7'Caption'#6#2'&2'#14'Paren'
+'tShowHint'#8#8'ShowHint'#9#7'OnClick'#7#15'TwoPageButClick'#0#0#12'TSpeedBu'
+'tton'#10'FitPageBut'#4'Left'#3'T'#1#3'Top'#2#4#5'Width'#2#25#6'Height'#2#25
+#4'Hint'#6#11'Fit to Page'#10'AllowAllUp'#9#10'GroupIndex'#2#4#10'Glyph.Data'
+#10#250#0#0#0#246#0#0#0'BM'#246#0#0#0#0#0#0#0'v'#0#0#0'('#0#0#0#16#0#0#0#16#0
+#0#0#1#0#4#0#0#0#0#0#128#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0
+#128#0#0#128#0#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#128#128#128#0
+#192#192#192#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255
+#0#0#255#255#255#0#255#0#0#0#0#0#0#255#255#15#255#255#255#255#240#255#255#15
+#255#255#255#255#240#255#255#15#0#0#0#0#240#255#255#15#255#255#255#255#240
+#255#255#15#255#255#255#255#240#255#255#15#0#0#0#0#240#255#255#15#255#255#255
+#255#240#255#255#15#255#255#255#255#240#255#255#15#0#0#0#0#240#255#255#15#255
+#255#255#255#240#255#255#15#255#255#255#255#240#255#255#15#0#0#0#0#240#255
+#255#15#255#255#255#255#240#255#255#15#255#255#255#255#240#255#255#0#0#0#0#0
+#0#255#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#15'FitPageButClick'#0
+#0#12'TSpeedButton'#11'FitWidthBut'#4'Left'#3'm'#1#3'Top'#2#4#5'Width'#2#25#6
+'Height'#2#25#4'Hint'#6#12'Fit to Width'#10'AllowAllUp'#9#10'GroupIndex'#2#4
+#10'Glyph.Data'#10#250#0#0#0#246#0#0#0'BM'#246#0#0#0#0#0#0#0'v'#0#0#0'('#0#0
+#0#16#0#0#0#16#0#0#0#1#0#4#0#0#0#0#0#128#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0
+#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0
+#0#128#128#128#0#192#192#192#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255
+#0#255#0#255#255#0#0#255#255#255#0#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#15#240#0#0#0#0#15#240#15#255#255#255#255#255#255#240
+#15#255#255#255#255#255#255#240#15#255#255#255#255#255#255#240#15#240#0#0#0#0
+#15#240#15#255#255#255#255#255#255#240#15#255#255#255#255#255#255#240#15#255
+#255#255#255#255#255#240#15#240#0#0#0#0#15#240#15#255#255#255#255#255#255#240
+#15#255#255#255#255#255#255#240#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#255#255#14'ParentShowHint'#8#8'ShowHint'#9#7'On'
+'Click'#7#16'FitWidthButClick'#0#0#6'TBevel'#6'Bevel1'#4'Left'#2#0#3'Top'#2
+'!'#5'Width'#3#222#2#6'Height'#2#2#5'Align'#7#8'alBottom'#5'Shape'#7#12'bsBo'
+'ttomLine'#0#0#6'TBevel'#6'Bevel2'#4'Left'#3#220#0#3'Top'#2#2#5'Width'#2#2#6
+'Height'#2#28#0#0#6'TBevel'#6'Bevel3'#4'Left'#3'L'#1#3'Top'#2#2#5'Width'#2#2
+#6'Height'#2#28#0#0#6'TBevel'#6'Bevel4'#4'Left'#3#8#2#3'Top'#2#2#5'Width'#2#2
+#6'Height'#2#28#0#0#6'TBevel'#6'Bevel5'#4'Left'#3'L'#2#3'Top'#2#2#5'Width'#2
+#2#6'Height'#2#28#0#0#6'TBevel'#6'Bevel6'#4'Left'#3#140#2#3'Top'#2#2#5'Width'
+#2#2#6'Height'#2#28#0#0#6'TBevel'#6'Bevel7'#4'Left'#3#167#1#3'Top'#2#2#5'Wid'
+'th'#2#2#6'Height'#2#28#0#0#7'TBitBtn'#8'PrintBut'#4'Left'#2#5#3'Top'#2#4#5
+'Width'#2'L'#6'Height'#2#25#4'Hint'#6#26'Print the Current Document'#7'Capti'
+'on'#6#9'&Print...'#8'TabOrder'#2#0#7'OnClick'#7#13'PrintButClick'#10'Glyph.'
+'Data'#10#250#0#0#0#246#0#0#0'BM'#246#0#0#0#0#0#0#0'v'#0#0#0'('#0#0#0#16#0#0
+#0#16#0#0#0#1#0#4#0#0#0#0#0#128#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0
+#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#192#192
+#192#0#128#128#128#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0
+#255#255#0#0#255#255#255#0'"""""""""'#0#0#0#0#0#2'" wwwwpp"'#0#0#0#0#0#0#7#2
+#7'ww{'#187'w'#0#2#7'wwx'#136'w'#7#2#0#0#0#0#0#0#7'p'#7'wwwwppp '#0#0#0#0#7#7
+#0'"'#15#255#255#255#240'pp" '#240#0#0#240#0#2'" '#255#255#255#255#2'"""'#15
+#0#0#15#2'"""'#15#255#255#255#240'""" '#0#0#0#0'"""""""""'#7'Spacing'#2#8#0#0
+#7'TBitBtn'#11'NextPageBut'#4'Left'#3#148#0#3'Top'#2#4#5'Width'#2'B'#6'Heigh'
+'t'#2#25#4'Hint'#6' Advance to Next Page in Document'#7'Caption'#6#5'&Next'#8
+'TabOrder'#2#1#7'OnClick'#7#16'NextPageButClick'#10'Glyph.Data'#10'j'#1#0#0
+'f'#1#0#0'BMf'#1#0#0#0#0#0#0'v'#0#0#0'('#0#0#0#20#0#0#0#20#0#0#0#1#0#4#0#0#0
,#0#0#240#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0
+#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#192#192#192#0#128#128#128#0#0
+#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255
+#0'3333333333'#0#0'3333333333'#0#0'333'#0'333333'#0#0'333'#14#3'33333'#0#0'3'
+'33'#14#224'33333'#0#0'333'#14#238#3'3333'#0#0'333'#14#238#224'3333'#0#0'333'
+#14#238#238#3'333'#0#0'333'#14#238#238#224'333'#0#0'333'#14#238#238#238#3'33'
+#0#0'333'#14#238#238#238#3'33'#0#0'333'#14#238#238#224'333'#0#0'333'#14#238
+#238#3'333'#0#0'333'#14#238#224'3333'#0#0'333'#14#238#3'3333'#0#0'333'#14#224
+'33333'#0#0'333'#14#3'33333'#0#0'333'#0'333333'#0#0'3333333333'#0#0'33333333'
+'33'#0#0#6'Layout'#7#12'blGlyphRight'#6'Margin'#2#4#7'Spacing'#2#2#0#0#7'TBi'
+'tBtn'#11'PrevPageBut'#4'Left'#2'R'#3'Top'#2#4#5'Width'#2'A'#6'Height'#2#25#4
+'Hint'#6'!Move to Previous Page in Document'#7'Caption'#6#5'Pre&v'#7'Enabled'
+#8#8'TabOrder'#2#2#7'OnClick'#7#16'PrevPageButClick'#10'Glyph.Data'#10'j'#1#0
+#0'f'#1#0#0'BMf'#1#0#0#0#0#0#0'v'#0#0#0'('#0#0#0#20#0#0#0#20#0#0#0#1#0#4#0#0
+#0#0#0#240#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#128#0#0#128#0
+#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#192#192#192#0#128#128#128#0
+#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255
+#255#0'3333333333'#0#0'3333333333'#0#0'333330'#3'333'#0#0'33333'#14#3'333'#0
+#0'33330'#238#3'333'#0#0'3333'#14#238#3'333'#0#0'3330'#238#238#3'333'#0#0'33'
+'3'#14#238#238#3'333'#0#0'330'#238#238#238#3'333'#0#0'33'#14#238#238#238#3'3'
+'33'#0#0'33'#14#238#238#238#3'333'#0#0'330'#238#238#238#3'333'#0#0'333'#14
+#238#238#3'333'#0#0'3330'#238#238#3'333'#0#0'3333'#14#238#3'333'#0#0'33330'
+#238#3'333'#0#0'33333'#14#3'333'#0#0'333330'#3'333'#0#0'3333333333'#0#0'3333'
+'333333'#0#0#6'Margin'#2#6#7'Spacing'#2#2#0#0#7'TBitBtn'#8'CloseBut'#4'Left'
+#3#148#2#3'Top'#2#4#5'Width'#2'='#6'Height'#2#25#4'Hint'#6#30'Close the Prin'
+'t Preview window'#6'Cancel'#9#7'Caption'#6#6'&Close'#8'TabOrder'#2#3#7'OnCl'
+'ick'#7#13'CloseButClick'#10'Glyph.Data'#10#250#1#0#0#246#1#0#0'BM'#246#1#0#0
+#0#0#0#0'v'#0#0#0'('#0#0#0'0'#0#0#0#16#0#0#0#1#0#4#0#0#0#0#0#128#1#0#0#0#0#0
+#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0#0
+#0#128#0#128#0#128#128#0#0#192#192#192#0#128#128#128#0#0#0#255#0#0#255#0#0#0
+#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0'3'#0#0#0#0#0#3'33'
+#0#0#0#0#0#3'33'#0#0#0#0#0#3'33'#6'ffff'#3'33'#15#255#255#255#255#3'33'#7'ww'
+'ww'#3'33'#6'ffff'#3'33'#15#255#255#255#255#3'33'#7'wwww'#3'33'#6'ffff'#3'33'
+#15#255#255#255#255#3'33'#7'wwww'#3'33'#6'ffff'#3'33'#15#255#255#255#255#3'3'
+'3'#7'wwww'#3'33'#6'ffff'#3'33'#15#255#255#255#255#3'33'#7'wwww'#3'33'#6'fff'
+'f'#3'33'#15#255#255#255#255#3'33'#7'wwww'#3'33'#6'fff'#6#3'33'#15#255#255
+#255#15#3'33'#7'www'#135#3'33'#6'ffff'#3'33'#15#255#255#255#255#3'33'#7'wwww'
+#3'33'#6'ffff'#3'33'#15#255#255#255#255#3'33'#7'wwww'#3'33'#6'o'#255#255'f'#3
+'33'#15#240#0#0#255#3'33'#7'x'#136#136'w'#3'33'#6'o'#255#255'f'#3'33'#15#240
+#0#0#255#3'33'#7'x'#136#136'w'#3'33'#6'o'#255#255'f'#3'33'#15#240#0#0#255#3
+'33'#7'x'#136#136'w'#3'33'#6'ffff'#3'33'#15#255#255#255#255#3'33'#7'wwww'#3
+'33'#6'ffff'#3'33'#15#255#255#255#255#3'33'#7'wwww'#3'33'#0#0#0#0#0#3'33'#0#0
+#0#0#0#3'33'#0#0#0#0#0#3'3'#9'NumGlyphs'#2#3#0#0#9'TComboBox'#7'ZoomBox'#4'L'
+'eft'#3#228#0#3'Top'#2#6#5'Width'#2'a'#6'Height'#2#21#5'Style'#7#14'csDropDo'
+'wnList'#10'ItemHeight'#2#13#8'TabOrder'#2#4#8'OnChange'#7#13'ZoomBoxChange'
+#13'Items.Strings'#1#6#11'Fit To Page'#6#12'Fit To Width'#6#6'Custom'#6#3'25'
+'%'#6#3'50%'#6#3'75%'#6#4'100%'#6#4'125%'#6#4'150%'#6#4'200%'#6#4'300%'#6#4
+'400%'#0#0#0#9'TComboBox'#8'UnitsBox'#4'Left'#3#175#1#3'Top'#2#6#5'Width'#2
+'Q'#6'Height'#2#21#5'Style'#7#14'csDropDownList'#10'ItemHeight'#2#13#8'TabOr'
+'der'#2#5#8'OnChange'#7#14'UnitsBoxChange'#13'Items.Strings'#1#6#6'Inches'#6
+#11'Centimeters'#0#0#0#0#6'TPanel'#12'StatBarPanel'#4'Left'#2#0#3'Top'#3#228
+#1#5'Width'#3#222#2#6'Height'#2#27#5'Align'#7#8'alBottom'#10'BevelOuter'#7#6
+'bvNone'#12'Font.Charset'#7#15'DEFAULT_CHARSET'#10'Font.Color'#7#7'clBlack'
+#11'Font.Height'#2#245#10'Font.Style'#11#0#10'ParentFont'#8#8'TabOrder'#2#1#0
+#6'TPanel'#12'CurPageLabel'#4'Left'#3#133#0#3'Top'#2#0#5'Width'#2'e'#6'Heigh'
+'t'#2#27#4'Hint'#6')Displays the Current Page of the Document'#5'Align'#7#6
+'alLeft'#10'BevelOuter'#7#9'bvLowered'#7'Caption'#6#12'CurPageLabel'#8'TabOr'
+'der'#2#0#0#0#6'TPanel'#9'ZoomLabel'#4'Left'#3#234#0#3'Top'#2#0#5'Width'#2'X'
+#6'Height'#2#27#4'Hint'#6'/Displays the Current Zoom Level (100% = normal)'#5
+'Align'#7#6'alLeft'#10'BevelOuter'#7#9'bvLowered'#7'Caption'#6#9'ZoomLabel'#8
+'TabOrder'#2#1#0#0#6'TPanel'#6'Panel1'#4'Left'#3'B'#1#3'Top'#2#0#5'Width'#3
+#156#1#6'Height'#2#27#4'Hint'#6'.Displays Help for the object beneath the mo'
+'use'#5'Align'#7#8'alClient'#10'BevelOuter'#7#9'bvLowered'#8'TabOrder'#2#2#0
+#6'TLabel'#9'HintLabel'#4'Left'#2#8#3'Top'#2#5#5'Width'#2','#6'Height'#2#14#4
,'Hint'#6'.Displays Help for the object beneath the mouse'#7'Caption'#6#9'Hin'
+'tLabel'#0#0#0#6'TPanel'#12'MoveButPanel'#4'Left'#2#0#3'Top'#2#0#5'Width'#3
+#133#0#6'Height'#2#27#5'Align'#7#6'alLeft'#10'BevelOuter'#7#6'bvNone'#7'Capt'
+'ion'#6#12'MoveButPanel'#8'TabOrder'#2#3#0#12'TSpeedButton'#14'FirstPageSpee'
+'d'#4'Left'#2#1#3'Top'#2#2#5'Width'#2#25#6'Height'#2#25#4'Hint'#6#28'Go to F'
+'irst Page in Document'#12'Font.Charset'#7#15'DEFAULT_CHARSET'#10'Font.Color'
+#7#7'clBlack'#11'Font.Height'#2#243#10'Font.Style'#11#0#10'Glyph.Data'#10#250
+#1#0#0#246#1#0#0'BM'#246#1#0#0#0#0#0#0'v'#0#0#0'('#0#0#0'0'#0#0#0#16#0#0#0#1
+#0#4#0#0#0#0#0#128#1#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#128#0
+#0#128#0#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#192#192#192#0#128
+#128#128#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0
+#255#255#255#0'3'#0#0'330'#3'33'#0#0'330'#3'33'#136#136'338'#131'33'#14#224
+'33'#14#3'33'#15#240'33'#15#3'33'#135'x33'#135#131'33'#14#224'30'#238#3'33'
+#15#240'30'#255#3'33'#135'x38w'#131'33'#14#224'3'#14#238#3'33'#15#240'3'#15
+#255#3'33'#135'x3'#135'w'#131'33'#14#224'0'#238#238#3'33'#15#240'0'#255#255#3
+'33'#135'x8ww'#131'33'#14#224#14#238#238#3'33'#15#240#15#255#255#3'33'#135'x'
+#135'ww'#131'33'#14#224#238#238#238#3'33'#15#240#255#255#255#3'33'#135'xwww'
+#131'33'#14#238#238#238#238#3'33'#15#255#255#255#255#3'33'#135'wwww'#131'33'
+#14#238#238#238#238#3'33'#15#255#255#255#255#3'33'#135'wwww'#131'33'#14#224
+#238#238#238#3'33'#15#240#255#255#255#3'33'#135'xwww'#131'33'#14#224#14#238
+#238#3'33'#15#240#15#255#255#3'33'#135'x'#135'ww'#131'33'#14#224'0'#238#238#3
+'33'#15#240'0'#255#255#3'33'#135'x8ww'#131'33'#14#224'3'#14#238#3'33'#15#240
+'3'#15#255#3'33'#135'x3'#135'w'#131'33'#14#224'30'#238#3'33'#15#240'30'#255#3
+'33'#135'x38w'#131'33'#14#224'33'#14#3'33'#15#240'33'#15#3'33'#135'x33'#135
+#131'33'#0#0'330'#3'33'#0#0'330'#3'33'#136#136'338'#131'3'#9'NumGlyphs'#2#3
+#10'ParentFont'#8#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#19'FirstPa'
+'geSpeedClick'#0#0#12'TSpeedButton'#13'PrevPageSpeed'#4'Left'#2#26#3'Top'#2#2
+#5'Width'#2#25#6'Height'#2#25#4'Hint'#6'!Move to Previous Page in Document'
+#12'Font.Charset'#7#15'DEFAULT_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.'
+'Height'#2#243#10'Font.Style'#11#0#10'Glyph.Data'#10#250#1#0#0#246#1#0#0'BM'
+#246#1#0#0#0#0#0#0'v'#0#0#0'('#0#0#0'0'#0#0#0#16#0#0#0#1#0#4#0#0#0#0#0#128#1
+#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128
+#0#128#0#0#0#128#0#128#0#128#128#0#0#192#192#192#0#128#128#128#0#0#0#255#0#0
+#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0'33333'#0
+'3333333'#0'3333333'#136'3333330'#224'3333330'#240'3333338x333333'#14#224'33'
+'3333'#15#240'333333'#135'x333330'#238#224'333330'#255#240'333338wx33333'#14
+#238#224'33333'#15#255#240'33333'#135'wx33330'#238#238#224'33330'#255#255#240
+'33338wwx3333'#14#238#238#224'3333'#15#255#255#240'3333'#135'wwx3330'#238#238
+#238#224'3330'#255#255#255#240'3338wwwx3330'#238#238#238#224'3330'#255#255
+#255#240'3338wwwx3333'#14#238#238#224'3333'#15#255#255#240'3333'#135'wwx3333'
+'0'#238#238#224'33330'#255#255#240'33338wwx33333'#14#238#224'33333'#15#255
+#240'33333'#135'wx333330'#238#224'333330'#255#240'333338wx333333'#14#224'333'
+'333'#15#240'333333'#135'x3333330'#224'3333330'#240'3333338x3333333'#0'33333'
+'33'#0'3333333'#136'33'#9'NumGlyphs'#2#3#10'ParentFont'#8#14'ParentShowHint'
+#8#8'ShowHint'#9#7'OnClick'#7#16'PrevPageButClick'#0#0#12'TSpeedButton'#13'N'
+'extPageSpeed'#4'Left'#2'3'#3'Top'#2#2#5'Width'#2#25#6'Height'#2#25#4'Hint'#6
+' Advance to Next Page in Document'#12'Font.Charset'#7#15'DEFAULT_CHARSET'#10
+'Font.Color'#7#7'clBlack'#11'Font.Height'#2#243#10'Font.Style'#11#0#10'Glyph'
+'.Data'#10#250#1#0#0#246#1#0#0'BM'#246#1#0#0#0#0#0#0'v'#0#0#0'('#0#0#0'0'#0#0
+#0#16#0#0#0#1#0#4#0#0#0#0#0#128#1#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0
+#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#192#192
+#192#0#128#128#128#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0
+#255#255#0#0#255#255#255#0'33'#0'3333333'#0'3333333'#136'3333333'#14#3'33333'
+'3'#15#3'333333'#135#131'333333'#14#224'333333'#15#240'333333'#135'x333333'
+#14#238#3'33333'#15#255#3'33333'#135'w'#131'33333'#14#238#224'33333'#15#255
+#240'33333'#135'wx33333'#14#238#238#3'3333'#15#255#255#3'3333'#135'ww'#131'3'
+'333'#14#238#238#224'3333'#15#255#255#240'3333'#135'wwx3333'#14#238#238#238#3
+'333'#15#255#255#255#3'333'#135'www'#131'333'#14#238#238#238#3'333'#15#255
+#255#255#3'333'#135'www'#131'333'#14#238#238#224'3333'#15#255#255#240'3333'
+#135'wwx3333'#14#238#238#3'3333'#15#255#255#3'3333'#135'ww'#131'3333'#14#238
+#224'33333'#15#255#240'33333'#135'wx33333'#14#238#3'33333'#15#255#3'33333'
+#135'w'#131'33333'#14#224'333333'#15#240'333333'#135'x333333'#14#3'333333'#15
+#3'333333'#135#131'333333'#0'3333333'#0'3333333'#136'33333'#9'NumGlyphs'#2#3
+#10'ParentFont'#8#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#16'NextPag'
,'eButClick'#0#0#12'TSpeedButton'#13'LastPageSpeed'#4'Left'#2'L'#3'Top'#2#2#5
+'Width'#2#25#6'Height'#2#25#4'Hint'#6#27'Go to Last Page in Document'#12'Fon'
+'t.Charset'#7#15'DEFAULT_CHARSET'#10'Font.Color'#7#7'clBlack'#11'Font.Height'
+#2#243#10'Font.Style'#11#0#10'Glyph.Data'#10#250#1#0#0#246#1#0#0'BM'#246#1#0
+#0#0#0#0#0'v'#0#0#0'('#0#0#0'0'#0#0#0#16#0#0#0#1#0#4#0#0#0#0#0#128#1#0#0#0#0
+#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0
+#0#0#128#0#128#0#128#128#0#0#192#192#192#0#128#128#128#0#0#0#255#0#0#255#0#0
+#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0'30'#3'33'#0#0'3'
+'30'#3'33'#0#0'338'#131'33'#136#136'330'#224'33'#14#224'330'#240'33'#15#240
+'338x33'#135'x330'#238#3'3'#14#224'330'#255#3'3'#15#240'338w'#131'3'#135'x33'
+'0'#238#224'3'#14#224'330'#255#240'3'#15#240'338wx3'#135'x330'#238#238#3#14
+#224'330'#255#255#3#15#240'338ww'#131#135'x330'#238#238#224#14#224'330'#255
+#255#240#15#240'338wwx'#135'x330'#238#238#238#14#224'330'#255#255#255#15#240
+'338www'#135'x330'#238#238#238#238#224'330'#255#255#255#255#240'338wwwwx330'
+#238#238#238#238#224'330'#255#255#255#255#240'338wwwwx330'#238#238#238#14#224
+'330'#255#255#255#15#240'338www'#135'x330'#238#238#224#14#224'330'#255#255
+#240#15#240'338wwx'#135'x330'#238#238#3#14#224'330'#255#255#3#15#240'338ww'
+#131#135'x330'#238#224'3'#14#224'330'#255#240'3'#15#240'338wx3'#135'x330'#238
+#3'3'#14#224'330'#255#3'3'#15#240'338w'#131'3'#135'x330'#224'33'#14#224'330'
+#240'33'#15#240'338x33'#135'x330'#3'33'#0#0'330'#3'33'#0#0'338'#131'33'#136
+#136'3'#9'NumGlyphs'#2#3#10'ParentFont'#8#14'ParentShowHint'#8#8'ShowHint'#9
+#7'OnClick'#7#18'LastPageSpeedClick'#0#0#12'TSpeedButton'#12'PageNumSpeed'#4
+'Left'#2'e'#3'Top'#2#2#5'Width'#2#25#6'Height'#2#25#4'Hint'#6#25'Go to Page '
+'by Page Number'#12'Font.Charset'#7#15'DEFAULT_CHARSET'#10'Font.Color'#7#7'c'
+'lBlack'#11'Font.Height'#2#243#10'Font.Style'#11#0#10'Glyph.Data'#10'z'#1#0#0
+'v'#1#0#0'BMv'#1#0#0#0#0#0#0'v'#0#0#0'('#0#0#0' '#0#0#0#16#0#0#0#1#0#4#0#0#0
+#0#0#0#1#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0
+#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0''#0#191#191#191#0#0#0#255#0#0
+#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0'0'#0#0#0
+#0#0#0'37wwwwww'#243'0'#255#255#255#255#255#240'37'#243'?3?37'#243'0'#255#15
+#255#15#255#240'37'#243'337'#243'0'#255#15#255#15#255#240'37'#243''#255''
+#255'7'#243'0'#240#0#0#0#15#240'37'#247'wwws7'#243'0'#255#240#255#240#255#240
+'37'#243'7'#243'7'#243'7'#243'0'#255#240#255#240#255#240'37'#243'7'#255#247
+#255#247#243'0'#255#0#0#0#0#240'37'#243'wwww7'#243'0'#255#255#15#255#15#240
+'37'#243'337'#243'0'#255#255#15#255#15#240'37'#243'3s3s7'#243'0'#255#255
+#255#255#255#240'37'#243'333?'#247#243'0'#255#255#255#255#0#0'37'#243'333ww'
+#243'0'#255#255#255#255#15#240'37'#255#255#255#255'730'#153#153#153#153#15#3
+'37wwwws30'#255#255#255#255#0'337'#255#255#255#255'w330'#0#0#0#0#3'337wwwws'
+'33'#9'NumGlyphs'#2#2#10'ParentFont'#8#14'ParentShowHint'#8#8'ShowHint'#9#7
+'OnClick'#7#17'PageNumSpeedClick'#0#0#0#0#10'TScrollBox'#10'ScrollBox1'#4'Le'
+'ft'#2#0#3'Top'#2'#'#5'Width'#3#222#2#6'Height'#3#193#1#22'HorzScrollBar.Tra'
+'cking'#9#22'VertScrollBar.Tracking'#9#5'Align'#7#8'alClient'#11'BorderStyle'
+#7#6'bsNone'#5'Color'#7#9'clBtnFace'#11'ParentColor'#8#8'TabOrder'#2#2#8'OnR'
+'esize'#7#16'ScrollBox1Resize'#0#6'TPanel'#12'ContainPanel'#4'Left'#2#0#3'To'
+'p'#2#0#5'Width'#3#233#1#6'Height'#3'I'#1#10'BevelOuter'#7#6'bvNone'#5'Color'
+#7#11'clBtnShadow'#8'TabOrder'#2#0#0#6'TPanel'#9'PagePanel'#4'Left'#2','#3'T'
+'op'#2' '#5'Width'#3#209#0#6'Height'#3#9#1#10'BevelOuter'#7#6'bvNone'#5'Colo'
+'r'#7#8'clWindow'#8'TabOrder'#2#0#0#9'TPaintBox'#3'PB1'#4'Left'#2#0#3'Top'#2
+#0#5'Width'#3#209#0#6'Height'#3#9#1#4'Hint'#6'ePage View. With Zoom Tool, l'
+'eft or right click to zoom in/out. Click && drag with Hand Tool to pan.'#5
+'Align'#7#8'alClient'#11'OnMouseDown'#7#12'PB1MouseDown'#11'OnMouseMove'#7#12
+'PB1MouseMove'#9'OnMouseUp'#7#10'PB1MouseUp'#7'OnPaint'#7#7'PBPaint'#0#0#0#6
+'TPanel'#10'PagePanel2'#4'Left'#3#4#1#3'Top'#2' '#5'Width'#3#209#0#6'Height'
+#3#9#1#10'BevelOuter'#7#6'bvNone'#5'Color'#7#8'clWindow'#8'TabOrder'#2#1#7'V'
+'isible'#8#0#9'TPaintBox'#3'PB2'#4'Left'#2#0#3'Top'#2#0#5'Width'#3#209#0#6'H'
+'eight'#3#9#1#4'Hint'#6'ePage View. With Zoom Tool, left or right click to '
+'zoom in/out. Click && drag with Hand Tool to pan.'#5'Align'#7#8'alClient'#7
+'OnPaint'#7#7'PBPaint'#0#0#0#0#0#12'TPrintDialog'#12'PrintDialog1'#8'FromPag'
+'e'#2#1#7'MinPage'#2#1#7'Options'#11#13'poPrintToFile'#10'poPageNums'#0#4'Le'
+'ft'#3#26#2#3'Top'#2'Z'#0#0#0
]);

View File

@ -0,0 +1,542 @@
{*************************************************************}
{* *}
{* Thanks to Chris Wallace for most of the ideas and *}
{* code associated with Print Preview and the Preview Form *}
{* *}
{*************************************************************}
{$ifDef ver150} {Delphi 7}
{$Define Delphi7_Plus}
{$endif}
{$ifDef ver170} {Delphi 2005}
{$Define Delphi7_Plus}
{$endif}
{$ifDef ver180} {Delphi 2006}
{$Define Delphi7_Plus} {9.4}
{$endif}
unit PreviewForm;
interface
uses
{$IFNDEF LCL} Windows, Messages, {$ELSE} LclIntf, LMessages, LclType, LResources, {$ENDIF}
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons, MetaFilePrinter, HTMLView, PrintStatusForm;
const
crZoom = 40;
crHandDrag = 41;
ZOOMFACTOR = 1.5;
type
TPreviewForm = class(TForm)
ToolBarPanel: TPanel;
GridBut: TSpeedButton;
ZoomCursorBut: TSpeedButton;
HandCursorBut: TSpeedButton;
OnePageBut: TSpeedButton;
TwoPageBut: TSpeedButton;
PrintBut: TBitBtn;
NextPageBut: TBitBtn;
PrevPageBut: TBitBtn;
CloseBut: TBitBtn;
ZoomBox: TComboBox;
StatBarPanel: TPanel;
CurPageLabel: TPanel;
ZoomLabel: TPanel;
Panel1: TPanel;
HintLabel: TLabel;
MoveButPanel: TPanel;
FirstPageSpeed: TSpeedButton;
PrevPageSpeed: TSpeedButton;
NextPageSpeed: TSpeedButton;
LastPageSpeed: TSpeedButton;
PageNumSpeed: TSpeedButton;
ScrollBox1: TScrollBox;
ContainPanel: TPanel;
PagePanel: TPanel;
PB1: TPaintBox;
PagePanel2: TPanel;
PB2: TPaintBox;
PrintDialog1: TPrintDialog;
FitPageBut: TSpeedButton;
FitWidthBut: TSpeedButton;
Bevel1: TBevel;
Bevel2: TBevel;
Bevel3: TBevel;
Bevel4: TBevel;
Bevel5: TBevel;
Bevel6: TBevel;
UnitsBox: TComboBox;
Bevel7: TBevel;
procedure CloseButClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ScrollBox1Resize(Sender: TObject);
procedure PBPaint(Sender: TObject);
procedure GridButClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ZoomBoxChange(Sender: TObject);
procedure TwoPageButClick(Sender: TObject);
procedure NextPageButClick(Sender: TObject);
procedure PrevPageButClick(Sender: TObject);
procedure FirstPageSpeedClick(Sender: TObject);
procedure LastPageSpeedClick(Sender: TObject);
procedure ZoomCursorButClick(Sender: TObject);
procedure HandCursorButClick(Sender: TObject);
procedure PB1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure PB1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure PB1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure PrintButClick(Sender: TObject);
procedure PageNumSpeedClick(Sender: TObject);
procedure OnePageButMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FitPageButClick(Sender: TObject);
procedure FitWidthButClick(Sender: TObject);
procedure UnitsBoxChange(Sender: TObject);
private
Viewer: ThtmlViewer;
protected
FCurPage : integer;
OldHint : TNotifyEvent;
DownX, DownY : integer;
Moving : boolean;
MFPrinter : TMetaFilePrinter;
procedure DrawMetaFile(PB: TPaintBox; mf: TMetaFile);
procedure OnHint(Sender: TObject);
procedure SetCurPage(Val: integer);
procedure CheckEnable;
property CurPage: integer read FCurPage write SetCurPage;
public
Zoom : double;
constructor CreateIt(AOwner: TComponent; AViewer: ThtmlViewer; var Abort: boolean);
destructor Destroy; override;
end;
implementation
uses
Gopage;
{$IFNDEF LCL}
{$R *.DFM}
{$ENDIF}
{$R GRID.RES}
constructor TPreviewForm.CreateIt(AOwner: TComponent; AViewer: ThtmlViewer;
var Abort: boolean);
var
StatusForm: TPrnStatusForm;
begin
inherited Create(AOwner);
ZoomBox.ItemIndex := 0;
UnitsBox.ItemIndex := 0;
Screen.Cursors[crZoom] := LoadCursor(hInstance, 'ZOOM_CURSOR');
Screen.Cursors[crHandDrag] := LoadCursor(hInstance, 'HAND_CURSOR');
ZoomCursorButClick(nil);
Viewer := AViewer;
MFPrinter := TMetaFilePrinter.Create(Self);
StatusForm := TPrnStatusForm.Create(Self);
try
StatusForm.DoPreview(Viewer, MFPrinter, Abort);
finally
StatusForm.Free;
end;
end;
destructor TPreviewForm.Destroy;
begin
inherited;
end;
procedure TPreviewForm.CloseButClick(Sender: TObject);
begin
Close;
end;
procedure TPreviewForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
Application.OnHint := OldHint;
MFPrinter.Free;
end;
procedure TPreviewForm.ScrollBox1Resize(Sender: TObject);
const
BORD = 20;
var
z : double;
tmp : integer;
TotWid : integer;
begin
case ZoomBox.ItemIndex of
0 : FitPageBut.Down := True;
1 : FitWidthBut.Down := True;
else
begin
FitPageBut.Down := False;
FitWidthBut.Down := False;
end;
end;
if ZoomBox.ItemIndex = -1 then
ZoomBox.ItemIndex := 0;
Case ZoomBox.ItemIndex of
0: z := ((ScrollBox1.ClientHeight - BORD) / PixelsPerInch) /
(MFPrinter.PaperHeight / MFPrinter.PixelsPerInchY);
1: z := ((ScrollBox1.ClientWidth - BORD) / PixelsPerInch) /
(MFPrinter.PaperWidth / MFPrinter.PixelsPerInchX);
2: z := Zoom;
3: z := 0.25;
4: z := 0.50;
5: z := 0.75;
6: z := 1.00;
7: z := 1.25;
8: z := 1.50;
9: z := 2.00;
10: z := 3.00;
11: z := 4.00;
else
z := 1;
end;
if ZoomBox.ItemIndex<>0 then OnePageBut.Down := True;
PagePanel.Height := TRUNC(PixelsPerInch * z * MFPrinter.PaperHeight / MFPrinter.PixelsPerInchY);
PagePanel.Width := TRUNC(PixelsPerInch * z * MFPrinter.PaperWidth / MFPrinter.PixelsPerInchX);
PagePanel2.Visible := TwoPageBut.Down;
if TwoPageBut.Down then
begin
PagePanel2.Width := PagePanel.Width;
PagePanel2.Height := PagePanel.Height;
end;
TotWid := PagePanel.Width + BORD;
if TwoPageBut.Down then
TotWid := TotWid + PagePanel2.Width + BORD;
// Resize the Contain Panel
tmp := PagePanel.Height + BORD;
if tmp < ScrollBox1.ClientHeight then
tmp := ScrollBox1.ClientHeight-1;
ContainPanel.Height := tmp;
tmp := TotWid;
if tmp < ScrollBox1.ClientWidth then
tmp := ScrollBox1.ClientWidth-1;
ContainPanel.Width := tmp;
// Center the Page Panel
if PagePanel.Height + BORD < ContainPanel.Height then
PagePanel.Top := ContainPanel.Height div 2 - PagePanel.Height div 2
else
PagePanel.Top := BORD div 2;
PagePanel2.Top := PagePanel.Top;
if TotWid < ContainPanel.Width then
PagePanel.Left := ContainPanel.Width div 2 - (TotWid - BORD) div 2
else
PagePanel.Left := BORD div 2;
PagePanel2.Left := PagePanel.Left + PagePanel.Width + BORD;
{Make sure the scroll bars are hidden if not needed}
if (PagePanel.Width +BORD <= ScrollBox1.Width) and
(PagePanel.Height +BORD <= ScrollBox1.Height) then
begin
ScrollBox1.HorzScrollBar.Visible := False;
ScrollBox1.VertScrollBar.Visible := False;
end
else
begin
ScrollBox1.HorzScrollBar.Visible := True;
ScrollBox1.VertScrollBar.Visible := True;
end;
// Set the Zoom Variable
Zoom := z;
ZoomLabel.Caption := Format('%1.0n', [z * 100]) + '%';
end;
procedure TPreviewForm.DrawMetaFile(PB: TPaintBox; mf: TMetaFile);
begin
PB.Canvas.Draw(0, 0, mf);
end;
procedure TPreviewForm.PBPaint(Sender: TObject);
var
PB : TPaintBox;
x1, y1 : integer;
x, y : integer;
Factor : double;
Draw : boolean;
Page : integer;
begin
PB := Sender as TPaintBox;
if PB = PB1 then
begin
Draw := CurPage < MFPrinter.LastAvailablePage;
Page := CurPage;
end
else
begin
// PB2
Draw := TwoPageBut.Down and (CurPage+1 < MFPrinter.LastAvailablePage);
Page := CurPage + 1;
end;
SetMapMode(PB.Canvas.Handle, MM_ANISOTROPIC);
SetWindowExtEx(PB.Canvas.Handle, MFPrinter.PaperWidth, MFPrinter.PaperHeight, nil);
SetViewportExtEx(PB.Canvas.Handle, PB.Width, PB.Height, nil);
SetWindowOrgEx(PB.Canvas.Handle, -MFPrinter.OffsetX, -MFPrinter.OffsetY, nil);
if Draw then
DrawMetaFile(PB, MFPrinter.MetaFiles[Page]);
if GridBut.Down then
begin
SetWindowOrgEx(PB.Canvas.Handle, 0, 0, nil);
PB.Canvas.Pen.Color := clLtGray;
if UnitsBox.ItemIndex = 0 then
Factor := 1.0
else Factor := 2.54;
for x := 1 to Round(MFPrinter.PaperWidth / MFPrinter.PixelsPerInchX * Factor) do
begin
x1 := Round(MFPrinter.PixelsPerInchX * x / Factor);
PB.Canvas.MoveTo(x1, 0);
PB.Canvas.LineTo(x1, MFPrinter.PaperHeight);
end;
for y := 1 to Round(MFPrinter.PaperHeight / MFPrinter.PixelsPerInchY * Factor) do
begin
y1 := Round(MFPrinter.PixelsPerInchY * y / Factor);
PB.Canvas.MoveTo(0, y1);
PB.Canvas.LineTo(MFPrinter.PaperWidth, y1);
end;
end;
end;
procedure TPreviewForm.GridButClick(Sender: TObject);
begin
PB1.Invalidate;
PB2.Invalidate;
end;
procedure TPreviewForm.OnHint(Sender: TObject);
begin
HintLabel.Caption := Application.Hint;
end;
procedure TPreviewForm.FormShow(Sender: TObject);
begin
CurPage := 0;
OldHint := Application.OnHint;
Application.OnHint := OnHint;
CheckEnable;
{$ifdef delphi7_plus}
PagePanel.ParentBackground := False;
PagePanel2.ParentBackground := False;
{$endif}
ScrollBox1Resize(Nil); {make sure it gets sized}
end;
procedure TPreviewForm.SetCurPage(Val: integer);
var
tmp : integer;
begin
FCurPage := Val;
tmp := 0;
if MFPrinter <> nil then
tmp := MFPrinter.LastAvailablePage;
CurPageLabel.Caption := Format('Page %d of %d', [Val+1, tmp]);
PB1.Invalidate;
PB2.Invalidate;
end;
procedure TPreviewForm.ZoomBoxChange(Sender: TObject);
begin
ScrollBox1Resize(nil);
ScrollBox1Resize(nil);
end;
procedure TPreviewForm.TwoPageButClick(Sender: TObject);
begin
ZoomBox.ItemIndex := 0;
ScrollBox1Resize(nil);
end;
procedure TPreviewForm.NextPageButClick(Sender: TObject);
begin
CurPage := CurPage + 1;
CheckEnable;
end;
procedure TPreviewForm.PrevPageButClick(Sender: TObject);
begin
CurPage := CurPage - 1;
CheckEnable;
end;
procedure TPreviewForm.CheckEnable;
begin
NextPageBut.Enabled := CurPage+1 < MFPrinter.LastAvailablePage;
PrevPageBut.Enabled := CurPage > 0;
NextPageSpeed.Enabled := NextPageBut.Enabled;
PrevPageSpeed.Enabled := PrevPageBut.Enabled;
FirstPageSpeed.Enabled := PrevPageBut.Enabled;
LastPageSPeed.Enabled := NextPageBut.Enabled;
PageNumSpeed.Enabled := MFPrinter.LastAvailablePage > 1;
end;
procedure TPreviewForm.FirstPageSpeedClick(Sender: TObject);
begin
CurPage := 0;
CheckEnable;
end;
procedure TPreviewForm.LastPageSpeedClick(Sender: TObject);
begin
CurPage := MFPrinter.LastAvailablePage-1;
CheckEnable;
end;
procedure TPreviewForm.ZoomCursorButClick(Sender: TObject);
begin
PB1.Cursor := crZoom;
PB2.Cursor := crZoom;
end;
procedure TPreviewForm.HandCursorButClick(Sender: TObject);
begin
PB1.Cursor := crHandDrag;
PB2.Cursor := crHandDrag;
end;
procedure TPreviewForm.PB1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
sx, sy : single;
nx, ny : integer;
begin
if ZoomCursorBut.Down then
begin
sx := X / PagePanel.Width;
sy := Y / PagePanel.Height;
if (ssLeft in Shift) and (Zoom < 20.0) then Zoom := Zoom * ZOOMFACTOR;
if (ssRight in Shift) and (Zoom > 0.1) then Zoom := Zoom / ZOOMFACTOR;
ZoomBox.ItemIndex := 2;
ScrollBox1Resize(nil);
nx := TRUNC(sx * PagePanel.Width);
ny := TRUNC(sy * PagePanel.Height);
ScrollBox1.HorzScrollBar.Position := nx - ScrollBox1.Width div 2;
ScrollBox1.VertScrollBar.Position := ny - ScrollBox1.Height div 2;
end;
if HandCursorBut.Down then
begin
DownX := X;
DownY := Y;
Moving := True;
end;
end;
procedure TPreviewForm.PB1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Moving then
begin
ScrollBox1.HorzScrollBar.Position := ScrollBox1.HorzScrollBar.Position + (DownX - X);
ScrollBox1.VertScrollBar.Position := ScrollBox1.VertScrollBar.Position + (DownY - Y);
end;
end;
procedure TPreviewForm.PB1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Moving := False;
end;
procedure TPreviewForm.PrintButClick(Sender: TObject);
var
StatusForm: TPrnStatusForm;
Dummy: boolean;
begin
with PrintDialog1 do
begin
MaxPage := 9999;
ToPage := 1;
Options := [poPageNums];
StatusForm := TPrnStatusForm.Create(Self);
if Execute then
if PrintRange = prAllPages then
StatusForm.DoPrint(Viewer, FromPage, 9999, Dummy)
else
StatusForm.DoPrint(Viewer, FromPage, ToPage, Dummy);
StatusForm.Free;
end;
end;
procedure TPreviewForm.PageNumSpeedClick(Sender: TObject);
var
gp : TGoPageForm;
begin
gp := TGoPageForm.Create(Self);
gp.PageNum.MaxValue := MFPrinter.LastAvailablePage;
gp.PageNum.Value := CurPage + 1;
if gp.ShowModal = mrOK then
begin
CurPage := gp.PageNum.Value - 1;
CheckEnable;
end;
gp.Free;
end;
procedure TPreviewForm.OnePageButMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ZoomBox.ItemIndex := 0;
ScrollBox1Resize(nil);
end;
procedure TPreviewForm.FitPageButClick(Sender: TObject);
begin
ZoomBox.ItemIndex := 0;
ZoomBoxChange(nil);
end;
procedure TPreviewForm.FitWidthButClick(Sender: TObject);
begin
ZoomBox.ItemIndex := 1;
ZoomBoxChange(nil);
end;
procedure TPreviewForm.UnitsBoxChange(Sender: TObject);
begin
if GridBut.down then
begin
PB1.Invalidate;
PB2.Invalidate;
end;
end;
initialization
{$IFDEF LCL}
{$I PreviewForm.lrs} {Include form's resource file}
{$ENDIF}
end.

View File

@ -0,0 +1,60 @@
object PrnStatusForm: TPrnStatusForm
Left = 731
Top = 443
AutoScroll = False
Caption = 'PrnStatusForm'
ClientHeight = 96
ClientWidth = 247
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = True
PixelsPerInch = 96
TextHeight = 13
object StatusLabel: TLabel
Left = 13
Top = 24
Width = 222
Height = 13
Alignment = taCenter
AutoSize = False
Caption = 'Status'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object CancelButton: TBitBtn
Left = 88
Top = 56
Width = 75
Height = 25
Cancel = True
Caption = 'Cancel'
TabOrder = 0
OnClick = CancelButtonClick
Glyph.Data = {
DE010000424DDE01000000000000760000002800000024000000120000000100
0400000000006801000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
333333333333333333333333000033338833333333333333333F333333333333
0000333911833333983333333388F333333F3333000033391118333911833333
38F38F333F88F33300003339111183911118333338F338F3F8338F3300003333
911118111118333338F3338F833338F3000033333911111111833333338F3338
3333F8330000333333911111183333333338F333333F83330000333333311111
8333333333338F3333383333000033333339111183333333333338F333833333
00003333339111118333333333333833338F3333000033333911181118333333
33338333338F333300003333911183911183333333383338F338F33300003333
9118333911183333338F33838F338F33000033333913333391113333338FF833
38F338F300003333333333333919333333388333338FFF830000333333333333
3333333333333333333888330000333333333333333333333333333333333333
0000}
NumGlyphs = 2
end
end

View File

@ -0,0 +1,58 @@
object PrnStatusForm: TPrnStatusForm
Left = 731
Top = 443
AutoScroll = False
Caption = 'PrnStatusForm'
ClientHeight = 96
Height = 96
ClientWidth = 247
Width = 247
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Style = []
PixelsPerInch = 96
object StatusLabel: TLabel
Left = 13
Top = 24
Width = 222
Height = 13
Alignment = taCenter
AutoSize = False
Caption = 'Status'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Style = []
ParentFont = False
end
object CancelButton: TBitBtn
Left = 88
Top = 56
Width = 75
Height = 25
Cancel = True
Caption = 'Cancel'
TabOrder = 0
OnClick = CancelButtonClick
Glyph.Data = {
DE010000424DDE01000000000000760000002800000024000000120000000100
0400000000006801000000000000000000001000000010000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
333333333333333333333333000033338833333333333333333F333333333333
0000333911833333983333333388F333333F3333000033391118333911833333
38F38F333F88F33300003339111183911118333338F338F3F8338F3300003333
911118111118333338F3338F833338F3000033333911111111833333338F3338
3333F8330000333333911111183333333338F333333F83330000333333311111
8333333333338F3333383333000033333339111183333333333338F333833333
00003333339111118333333333333833338F3333000033333911181118333333
33338333338F333300003333911183911183333333383338F338F33300003333
9118333911183333338F33838F338F33000033333913333391113333338FF833
38F338F300003333333333333919333333388333338FFF830000333333333333
3333333333333333333888330000333333333333333333333333333333333333
0000}
NumGlyphs = 2
end
end

View File

@ -0,0 +1,28 @@
LazarusResources.Add('TPrnStatusForm','FORMDATA',[
'TPF0'#14'TPrnStatusForm'#13'PrnStatusForm'#4'Left'#3#219#2#3'Top'#3#187#1#10
+'AutoScroll'#8#7'Caption'#6#13'PrnStatusForm'#12'ClientHeight'#2'`'#6'Height'
+#2'`'#11'ClientWidth'#3#247#0#5'Width'#3#247#0#5'Color'#7#9'clBtnFace'#12'Fo'
+'nt.Charset'#7#15'DEFAULT_CHARSET'#10'Font.Color'#7#12'clWindowText'#11'Font'
+'.Height'#2#245#10'Font.Style'#11#0#13'PixelsPerInch'#2'`'#0#6'TLabel'#11'St'
+'atusLabel'#4'Left'#2#13#3'Top'#2#24#5'Width'#3#222#0#6'Height'#2#13#9'Align'
+'ment'#7#8'taCenter'#8'AutoSize'#8#7'Caption'#6#6'Status'#12'Font.Charset'#7
+#15'DEFAULT_CHARSET'#10'Font.Color'#7#12'clWindowText'#11'Font.Height'#2#245
+#10'Font.Style'#11#0#10'ParentFont'#8#0#0#7'TBitBtn'#12'CancelButton'#4'Left'
+#2'X'#3'Top'#2'8'#5'Width'#2'K'#6'Height'#2#25#6'Cancel'#9#7'Caption'#6#6'Ca'
+'ncel'#8'TabOrder'#2#0#7'OnClick'#7#17'CancelButtonClick'#10'Glyph.Data'#10
+#226#1#0#0#222#1#0#0'BM'#222#1#0#0#0#0#0#0'v'#0#0#0'('#0#0#0'$'#0#0#0#18#0#0
+#0#1#0#4#0#0#0#0#0'h'#1#0#0#0#0#0#0#0#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#128
+#0#0#128#0#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#192#192#192#0#128
+#128#128#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0
+#255#255#255#0'333333333333333333'#0#0'33'#136'33333333?333333'#0#0'39'#17
+#131'33'#152'3333'#136#243'33?33'#0#0'39'#17#24'39'#17#131'338'#243#143'3?'
+#136#243'3'#0#0'39'#17#17#131#145#17#24'338'#243'8'#243#248'3'#143'3'#0#0'33'
+#145#17#24#17#17#24'338'#243'3'#143#131'38'#243#0#0'339'#17#17#17#17#131'333'
+#143'3833'#248'3'#0#0'333'#145#17#17#24'33338'#243'33?'#131'3'#0#0'3331'#17
+#17#131'33333'#143'33833'#0#0'3339'#17#17#131'333338'#243'3'#131'33'#0#0'333'
+#145#17#17#131'33333833'#143'33'#0#0'339'#17#24#17#24'33333'#131'33'#143'33'
+#0#0'33'#145#17#131#145#17#131'333838'#243'8'#243'3'#0#0'33'#145#24'39'#17#24
+'333'#143'3'#131#143'3'#143'3'#0#0'339'#19'33'#145#17'333'#143#248'38'#243'8'
+#243#0#0'3333339'#25'3338'#131'33'#143#255#131#0#0'3333333333333338'#136'3'#0
+#0'333333333333333333'#0#0#9'NumGlyphs'#2#2#0#0#0
]);

View File

@ -0,0 +1,101 @@
unit PrintStatusForm;
interface
uses
{$IFNDEF LCL} Windows, Messages, {$ELSE} LclIntf, LMessages, LclType, LResources, {$ENDIF}
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, HTMLView {$IFNDEF LCL}, MetaFilePrinter {$ENDIF};
type
TPrnStatusForm = class(TForm)
StatusLabel: TLabel;
CancelButton: TBitBtn;
procedure CancelButtonClick(Sender: TObject);
private
{ Private declarations }
Viewer: ThtmlViewer;
Canceled: boolean;
{$IFNDEF LCL}
MFPrinter: TMetaFilePrinter;
{$ENDIF}
FromPage, ToPage: integer;
procedure PageEvent(Sender: TObject; PageNum: integer; var Stop: boolean);
public
{ Public declarations }
{$IFNDEF LCL}
procedure DoPreview(AViewer: ThtmlViewer; AMFPrinter: TMetaFilePrinter;
var Abort: boolean);
{$ENDIF}
procedure DoPrint(AViewer: ThtmlViewer; FromPg, ToPg: integer;
var Abort: boolean);
end;
var
PrnStatusForm: TPrnStatusForm;
implementation
{$IFNDEF LCL}
{$R *.DFM}
{$ENDIF}
{$IFNDEF LCL}
procedure TPrnStatusForm.DoPreview(AViewer: ThtmlViewer; AMFPrinter: TMetaFilePrinter;
var Abort: boolean);
begin
Viewer := AViewer;
MFPrinter := AMFPrinter;
Viewer.OnPageEvent := PageEvent;
try
Show;
Viewer.PrintPreview(MFPrinter);
Hide;
Abort := Canceled;
finally
Viewer.OnPageEvent := Nil;
end;
end;
{$ENDIF}
procedure TPrnStatusForm.DoPrint(AViewer: ThtmlViewer; FromPg, ToPg: integer;
var Abort: boolean);
begin
Viewer := AViewer;
FromPage := FromPg;
ToPage := ToPg;
Viewer.OnPageEvent := PageEvent;
try
Show;
Viewer.Print(FromPage, ToPage);
Hide;
Abort := Canceled;
finally
Viewer.OnPageEvent := Nil;
end;
end;
procedure TPrnStatusForm.PageEvent(Sender: TObject; PageNum: integer; var Stop: boolean);
begin
if Canceled then
Stop := True
else
if PageNum = 0 then
StatusLabel.Caption := 'Formating'
else
StatusLabel.Caption := 'Page Number '+ IntToStr(PageNum);
Update;
end;
procedure TPrnStatusForm.CancelButtonClick(Sender: TObject);
begin
Canceled := True;
end;
initialization
{$IFDEF LCL}
{$I PrintStatusForm.lrs} {Include form's resource file}
{$ENDIF}
end.

View File

@ -0,0 +1,73 @@
object SubmitForm: TSubmitForm
Left = 200
Top = 99
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'Submit Results'
ClientHeight = 273
ClientWidth = 427
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'System'
Font.Style = []
PixelsPerInch = 96
TextHeight = 16
object Label1: TLabel
Left = 16
Top = 19
Width = 43
Height = 16
Caption = 'Action:'
end
object Label2: TLabel
Left = 9
Top = 43
Width = 52
Height = 16
Caption = 'Method:'
end
object Label3: TLabel
Left = 18
Top = 71
Width = 50
Height = 16
Caption = 'Results'
end
object ActionText: TEdit
Left = 67
Top = 14
Width = 342
Height = 24
TabStop = False
ReadOnly = True
TabOrder = 0
end
object MethodText: TEdit
Left = 68
Top = 41
Width = 342
Height = 24
TabStop = False
ReadOnly = True
TabOrder = 1
end
object ResultBox: TListBox
Left = 17
Top = 90
Width = 392
Height = 145
TabStop = False
ItemHeight = 16
TabOrder = 2
end
object Button1: TButton
Left = 172
Top = 242
Width = 73
Height = 28
Caption = '&Close'
Default = True
TabOrder = 3
OnClick = Button1Click
end
end

View File

@ -0,0 +1,73 @@
object SubmitForm: TSubmitForm
Left = 200
Top = 99
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'Submit Results'
ClientHeight = 273
Height = 273
ClientWidth = 427
Width = 427
Font.Color = clWindowText
Font.Height = -13
Font.Style = []
PixelsPerInch = 96
object Label1: TLabel
Left = 16
Top = 19
Width = 43
Height = 16
Caption = 'Action:'
end
object Label2: TLabel
Left = 9
Top = 43
Width = 52
Height = 16
Caption = 'Method:'
end
object Label3: TLabel
Left = 18
Top = 71
Width = 50
Height = 16
Caption = 'Results'
end
object ActionText: TEdit
Left = 67
Top = 14
Width = 342
Height = 24
TabStop = False
ReadOnly = True
TabOrder = 0
end
object MethodText: TEdit
Left = 68
Top = 41
Width = 342
Height = 24
TabStop = False
ReadOnly = True
TabOrder = 1
end
object ResultBox: TListBox
Left = 17
Top = 90
Width = 392
Height = 145
TabStop = False
ItemHeight = 16
TabOrder = 2
end
object Button1: TButton
Left = 172
Top = 242
Width = 73
Height = 28
Caption = '&Close'
Default = True
TabOrder = 3
OnClick = Button1Click
end
end

View File

@ -0,0 +1,19 @@
LazarusResources.Add('TSubmitForm','FORMDATA',[
'TPF0'#11'TSubmitForm'#10'SubmitForm'#4'Left'#3#200#0#3'Top'#2'c'#11'BorderIc'
+'ons'#11#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6#14'Su'
+'bmit Results'#12'ClientHeight'#3#17#1#6'Height'#3#17#1#11'ClientWidth'#3#171
+#1#5'Width'#3#171#1#10'Font.Color'#7#12'clWindowText'#11'Font.Height'#2#243
+#10'Font.Style'#11#0#13'PixelsPerInch'#2'`'#0#6'TLabel'#6'Label1'#4'Left'#2
+#16#3'Top'#2#19#5'Width'#2'+'#6'Height'#2#16#7'Caption'#6#7'Action:'#0#0#6'T'
+'Label'#6'Label2'#4'Left'#2#9#3'Top'#2'+'#5'Width'#2'4'#6'Height'#2#16#7'Cap'
+'tion'#6#7'Method:'#0#0#6'TLabel'#6'Label3'#4'Left'#2#18#3'Top'#2'G'#5'Width'
+#2'2'#6'Height'#2#16#7'Caption'#6#7'Results'#0#0#5'TEdit'#10'ActionText'#4'L'
+'eft'#2'C'#3'Top'#2#14#5'Width'#3'V'#1#6'Height'#2#24#7'TabStop'#8#8'ReadOnl'
+'y'#9#8'TabOrder'#2#0#0#0#5'TEdit'#10'MethodText'#4'Left'#2'D'#3'Top'#2')'#5
+'Width'#3'V'#1#6'Height'#2#24#7'TabStop'#8#8'ReadOnly'#9#8'TabOrder'#2#1#0#0
+#8'TListBox'#9'ResultBox'#4'Left'#2#17#3'Top'#2'Z'#5'Width'#3#136#1#6'Height'
+#3#145#0#7'TabStop'#8#10'ItemHeight'#2#16#8'TabOrder'#2#2#0#0#7'TButton'#7'B'
+'utton1'#4'Left'#3#172#0#3'Top'#3#242#0#5'Width'#2'I'#6'Height'#2#28#7'Capti'
+'on'#6#6'&Close'#7'Default'#9#8'TabOrder'#2#3#7'OnClick'#7#12'Button1Click'#0
+#0#0
]);

View File

@ -0,0 +1,45 @@
unit Submit;
interface
uses
{$IFNDEF LCL} Windows, Messages, {$ELSE} LclIntf, LMessages, LclType, LResources, {$ENDIF}
SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
TSubmitForm = class(TForm)
ActionText: TEdit;
MethodText: TEdit;
Label1: TLabel;
Label2: TLabel;
ResultBox: TListBox;
Label3: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SubmitForm: TSubmitForm;
implementation
{$IFNDEF LCL}
{$R *.DFM}
{$ENDIF}
procedure TSubmitForm.Button1Click(Sender: TObject);
begin
Close;
end;
initialization
{$IFDEF LCL}
{$I SUBMIT.lrs} {Include form's resource file}
{$ENDIF}
end.

View File

@ -0,0 +1,16 @@
<html><head><title>Good Colors</title></head>
<BODY BGCOLOR="#900018" TEXT="F0F0A0" LINK="ffffff" vlink="b0b0ff">
<a name="Top">
<center><h1>Exploring Colors</h1></center>
</a>
<ul>
<li><a href=gudcolor.htm target=_top>Place on Top</a>
<li><a href="gudcolor.htm" target=_parent>Place on Parent</a>
<li><a href="gudcolor.htm" target=_blank>Place in another window</a>
</ul>
<hr>
</BODY>
</HTML>

Binary file not shown.

After

Width:  |  Height:  |  Size: 907 B

View File

@ -0,0 +1,31 @@
<HTML>
<HEAD>
<LINK REL="StyleSheet" TYPE="text/css" HREF="demo.css">
<STYLE TYPE="text/css">
:link {color: rgb(0,0,85);}
:hover {color: ffffcc;}
:visited {color: rgb(99,120,165);}
bosdy {background-color: rgb(184, 197, 211);}
</STYLE>
</HEAD>
<BODY CLASS="backcolor">
<P STYLE="text-align: center; font-size: 14pt; color: white; margin-top: 50px;"> <B>Contents</B> </P>
<HR STYLE="height: 6; width: 60%; color: 373773;">
<BR>
<DIV STYLE="text-align: center;">
<P><B> <A TARGET="RightWin" HREF="readme1.htm">Read Me</A> </B></P>
<P> <B><A TARGET="RightWin" HREF="sample1.htm">HTML Samples</A></B> </P>
<P><B> <A TARGET="RightWin" HREF="support.htm">Support</A></B> </P>
<P> <B><A TARGET="RightWin" HREF="properties.htm">Stylesheet Support</A></B> </P>
<P> <B><A TARGET="RightWin" HREF="tabltut1.htm">Table Tutorial</A></B> </P>
<P> <B><A TARGET="_blank" HREF="whatsnew.htm">What's new in Version 9.45</A></B> </P>
<P><B> <A TARGET="RightWin" HREF="things.htm">Things You Should Know</A> </B></P>
<P> </P>
</DIV>
</BODY>
</HTML>

View File

@ -0,0 +1,24 @@
{
Copyright (c) 1995-2008 by L. David Baldwin
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Note that the source modules, HTMLGIF1.PAS, PNGZLIB1.PAS, DITHERUNIT.PAS, and
URLCON.PAS are covered by separate copyright notices located in those modules.
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

View File

@ -0,0 +1,36 @@
PNG_ERROR_INVALID_HEADER = 'Invalid Portable Graphics Network image, it has' +
' an invalid file header.';
PNG_ERROR_INVALID_CHUNK_INDEX = 'The chunk index especified is out of the ' +
'range.';
PNG_ERROR_INVALID_CHUNK_CLASS_INDEX = 'The chunk class index especified is ' +
' out of range.';
PNG_ERROR_CHUNK_INVALID_CRC = 'Can''t read the PNG image, it has corrupted ' +
'data. ';
PNG_ERROR_IHDR_NOT_FIRST = 'This PNG image is invalid, the IHDR chunk is ' +
'either not present or it isn''t the first chunk.';
PNG_ERROR_NO_IDAT = 'The current image being loaded has no data and could ' +
'not be loaded.';
PNG_ERROR_INVALID_PLTE = 'The current image being loaded has an invalid ' +
'palette!';
PNG_ERROR_INVALID_COLOR_TYPE = 'Could not read the image because it has an ' +
'unknown color type.';
PNG_ERROR_INVALID_FILTER_TYPE = 'The image could not be loaded because it ' +
'uses an unknown set of filter types.';
PNG_ERROR_INVALID_INTERLACE = 'The image has an unknown interlace method.';
PNG_ERROR_UNKOWN_CRITICAL_CHUNK = 'The currently being loaded image ' +
'contains critical(s) chunk(s) not reconized by the decoder.';
PNG_ERROR_NO_PALETTE = 'The current image requeries a palette but it is ' +
'not avaliable.';
PNG_INVALID_COLOR_TYPE = 'Can not get transparency information because ' +
'the current image color type is not RGB (value 3)';
CHUNK_NOT_CHILD = 'The especified chunk is not inside the chunk list ' +
'containing the method being used. The funcion could not be completed.';
TIME_CORRUPTED = 'Could not get informations on the tIME chunk because ' +
'it is corrupted.';
PNG_SHARE = 'What you are testing now uses TPNGImage, a Portable Graphics ' +
'network format handler made by Guba (gubah@sti.com.br). It is actually ' +
'not totally ready yet (07/01/2000), but its nice, isn''t it ?'#13#10 +
#13#10 + 'Anyway, for more information about it send mails to:'#13#10 +
'gubah@sti.com.br';
PNG_SHARE_TITLE = 'TPNGImage beta test version (gubah@sti.com.br)';

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,444 @@
{Version 9.45}
{$i htmlcons.inc}
unit GDIPL2A;
interface
uses
{$IFNDEF LCL} Windows, ActiveX, {$ELSE} LclIntf, LclType, Types, DynLibs, HtmlMisc, {$ENDIF}
SysUtils, Graphics;
var
GDIPlusActive: boolean;
type
TGpImage = class(TObject)
private
fHandle: integer;
fWidth, fHeight: integer;
fFilename: string;
function GetHeight: integer;
function GetWidth: integer;
public
constructor Create(Filename: string; TmpFile: boolean = False); overload;
constructor Create(IStr: IStream); overload;
destructor Destroy; override;
function GetTBitmap: TBitmap;
property Height: integer read GetHeight;
property Width: integer read GetWidth;
end;
TGpGraphics = class;
TGpBitmap = class(TGpImage)
public
constructor Create(W, H: integer); overload;
constructor Create(IStr: IStream); overload;
constructor Create(W, H: integer; Graphics: TGpGraphics); overload;
function GetPixel(X, Y: integer): DWord;
procedure SetPixel(X, Y: integer; Color: DWord);
end;
TGpGraphics = class(TObject)
private
fGraphics: integer;
procedure DrawSmallStretchedImage (Image: TGPImage; X, Y, Width, Height: Integer);
public
constructor Create(Handle: HDC); overload;
constructor Create(Image: TGpImage); overload;
destructor Destroy; override;
procedure DrawImage (Image: TGPImage; X, Y: Integer); overload;
procedure DrawImage (Image: TGPImage; X, Y, Width, Height: Integer); overload;
procedure DrawImage(Image: TGpImage; x, y, srcx, srcy, srcwidth, srcheight: integer); overload;
procedure DrawImage(Image: TGpImage; dx, dy, dw, dh, sx, sy, sw, sh: integer); overload;
procedure Clear(Color: Cardinal);
procedure ScaleTransform(sx, sy: Single);
end;
procedure CheckInitGDIPlus;
procedure CheckExitGDIPlus;
implementation
const
GdiPlusLib = 'GdiPlus.dll';
type
EGDIPlus = class (Exception);
TRectF = record
X: Single;
Y: Single;
Width: Single;
Height: Single;
end;
ImageCodecInfo = packed record
Clsid : TGUID;
FormatID : TGUID;
CodecName : PWCHAR;
DllName : PWCHAR;
FormatDescription : PWCHAR;
FilenameExtension : PWCHAR;
MimeType : PWCHAR;
Flags : DWORD;
Version : DWORD;
SigCount : DWORD;
SigSize : DWORD;
SigPattern : PBYTE;
SigMask : PBYTE;
end;
TImageCodecInfo = ImageCodecInfo;
PImageCodecInfo = ^TImageCodecInfo;
var
{$ifndef NoGDIPlus}
GdiplusStartup: function(var Token: DWord; const Input, Output: Pointer): Integer; stdcall;
GdiplusShutdown: procedure(Token: DWord); stdcall;
GdipDrawImageI: function(Graphics, Image, X, Y: Integer): Integer; stdcall;
GdipCreateHBITMAPFromBitmap: function(bitmap: integer; out hbmReturn: HBITMAP;
background: DWord): integer; stdcall;
GdipGetInterpolationMode: function(graphics: integer; var interpolationMode: integer): integer; stdcall;
{$endif$}
GdipDeleteGraphics: function(Graphics: Integer): Integer; stdcall;
GdipCreateFromHDC: function(hdc: HDC; var Graphics: Integer): Integer; stdcall;
GdipDrawImageRectI: function (Graphics, Image, X, Y, Width, Height: Integer): Integer; stdcall;
GdipLoadImageFromFile: function (const FileName: PWideChar; var Image: Integer): Integer; stdcall;
GdipLoadImageFromStream: function(stream: ISTREAM;
out image: integer): integer; stdcall;
GdipCreateBitmapFromStream: function(stream: ISTREAM; out bitmap: integer): integer; stdcall;
GdipDisposeImage: function (Image: Integer): Integer; stdcall;
GdipGetImageWidth: function (Image: Integer; var Width: Integer): Integer; stdcall;
GdipGetImageHeight: function(Image: Integer; var Height: Integer): Integer; stdcall;
GdipGetImageGraphicsContext: function(Image: integer; out graphics: integer): integer; stdcall;
GdipGraphicsClear: function(Graphics: Integer; Color: Cardinal): Integer; stdcall;
GdipCreateBitmapFromScan0: function(width: Integer; height: Integer;
stride: Integer; pixelformat: dword; scan0: Pointer;
out bitmap: integer): integer; stdcall;
GdipDrawImagePointRect: function(graphics: integer; image: integer;
x: Single; y: Single; srcx: Single; srcy: Single; srcwidth: Single;
srcheight: Single; srcUnit: integer): integer; stdcall;
GdipScaleWorldTransform: function(graphics: integer; sx: Single; sy: Single;
order: integer): integer; stdcall;
GdipCreateBitmapFromGraphics: function(width, height: Integer;
Graphics: integer; out Bitmap: integer): integer; stdcall;
GdipBitmapGetPixel: function(bitmap, x, y: Integer; var color: DWord): integer; stdcall;
GdipDrawImageRectRectI: function(graphics, image,
dstx, dsty, dstwidth, dstheight, srcx, srcy, srcwidth, srcheight,
srcUnit, imageAttributes: integer;
callback: Pointer; callbackData: integer): integer; stdcall;
GdipSetInterpolationMode: function(graphics, interpolationMode: integer): integer; stdcall;
GdipBitmapSetPixel: function(bitmap, x, y: Integer; color: DWord): Integer; stdcall;
type
TGDIStartup = packed record
Version: Integer; // Must be one
DebugEventCallback: Pointer; // Only for debug builds
SuppressBackgroundThread: Bool; // True if replacing GDI+ background processing
SuppressExternalCodecs: Bool; // True if only using internal codecs
end;
var
Err: Integer;
{ TGpGraphics }
constructor TGpGraphics.Create(Handle: HDC);
var
err: integer;
begin
inherited Create;
err := GdipCreateFromHDC (Handle, fGraphics);
if err <> 0 then
raise EGDIPlus.Create('Can''t Create Graphics');
end;
constructor TGpGraphics.Create(Image: TGpImage);
var
err: integer;
begin
inherited Create;
err := GdipGetImageGraphicsContext(image.fHandle, fgraphics);
if err <> 0 then
raise EGDIPlus.Create('Can''t Create Graphics');
end;
destructor TGpGraphics.Destroy;
begin
if fGraphics <> 0 then
GdipDeleteGraphics (fGraphics);
inherited;
end;
procedure TGpGraphics.DrawImage(Image: TGPImage; X, Y, Width, Height: Integer);
begin
if ((Image.Width <= 10) and (Width > Image.Width)) or
((Image.Height <= 10) and (Height > Image.Height)) then
DrawSmallStretchedImage(Image, X, Y, Width, Height)
else
GdipDrawImageRectI (fGraphics, Image.fHandle, X, Y, Width, Height);
end;
procedure TGpGraphics.DrawSmallStretchedImage (Image: TGPImage; X, Y, Width, Height: Integer);
{when a small image is getting enlarged, add a row and column to it copying
the last row/column to the new row/column. This gives much better interpolation.}
const
NearestNeighbor = 5;
var
g1, g2: TGpGraphics;
BM1, BM2: TGpBitmap;
W, H: integer;
Pixel: DWord;
begin
W := Image.Width+1; {new dimensions}
H := Image.Height+1;
BM1 := TGpBitmap.Create(W, H); {new bitmap with extra row and column}
try
g1 := TGpGraphics.Create(BM1);
try
g1.DrawImage(Image, 0, 0); {draw the original image}
g1.DrawImage(Image, W-1, 0, 1, H, {copy the column, then the row}
W-2, 0, 1, H);
g1.DrawImage(Image, 0, H-1, W, 1,
0, H-2, W, 1);
Pixel := BM1.GetPixel(W-2, H-2); {for some reason also need to set the lower right pixel}
BM1.SetPixel(W-1, H-1, Pixel);
BM2 := TGpBitmap.Create(Width, Height);
try
g2 := TGpGraphics.Create(BM2);
try
GdipSetInterpolationMode(g2.fGraphics, NearestNeighbor);
g2.DrawImage(BM1, 0, 0, Width, Height, {now draw the image stretched where needed}
0, 0, Image.Width, Image.Height);
DrawImage(BM2, X, Y); {now draw the image stretched where needed}
finally
g2.Free;
end;
finally
BM2.Free;
end;
finally
g1.Free;
end;
finally
BM1.Free;
end;
end;
procedure TGpGraphics.DrawImage(Image: TGPImage; X, Y: Integer);
begin
GdipDrawImageRectI (fGraphics, Image.fHandle, X, Y, Image.Width, Image.Height);
end;
procedure TGPGraphics.DrawImage(Image: TGpImage; x, y,
srcx, srcy, srcwidth, srcheight: integer);
const
UnitPixel = 2;
begin
GdipDrawImagePointRect(fGraphics, Image.fHandle, x, y,
srcx, srcy, srcwidth, srcheight, UnitPixel);
end;
procedure TGPGraphics.DrawImage(Image: TGpImage; dx, dy, dw, dh, sx, sy, sw, sh: integer);
const
UnitPixel = 2;
begin
GdipDrawImageRectRectI(fGraphics, Image.fHandle, dx, dy, dw, dh,
sx, sy, sw, sh, UnitPixel, 0, Nil, 0);
end;
procedure TGpGraphics.Clear (Color: Cardinal);
begin
GdipGraphicsClear (fGraphics, Color);
end;
procedure TGPGraphics.ScaleTransform(sx, sy: Single);
const
MatrixOrderPrepend = 0;
begin
GdipScaleWorldTransform(fGraphics, sx, sy, MatrixOrderPrepend);
end;
{ TGpImage }
constructor TGpImage.Create(Filename: string; TmpFile: boolean = False);
var
err: Integer;
Buffer: array [0..511] of WideChar;
begin
Inherited Create;
if not FileExists (FileName) then
raise EGDIPlus.Create (Format ('Image file %s not found.', [FileName]));
err := GdipLoadImageFromFile (StringToWideChar (FileName, Buffer, sizeof (Buffer)), fHandle);
if err <> 0 then
raise EGDIPlus.Create(Format ('Can''t load image file %s.', [FileName]));
if TmpFile then
fFilename := Filename;
end;
constructor TGpImage.Create(IStr: IStream);
var
err: Integer;
begin
Inherited Create;
err := GdipLoadImageFromStream(IStr, fHandle);
if err <> 0 then
raise EGDIPlus.Create('Can''t load image stream');
end;
destructor TGpImage.Destroy;
begin
GdipDisposeImage (fHandle);
if Length(fFilename) > 0 then
try
DeleteFile(fFilename);
except
end;
inherited;
end;
function TGpImage.GetWidth: integer;
begin
if fWidth = 0 then
GdipGetImageWidth (fHandle, fWidth);
Result := fWidth;
end;
function TGpImage.GetHeight: integer;
begin
if fHeight = 0 then
GdipGetImageHeight (fHandle, fHeight);
Result := fHeight;
end;
function TGpImage.GetTBitmap: TBitmap;
var
g: TGpGraphics;
begin
Result := TBitmap.Create;
Result.Width := GetWidth;
Result.Height := GetHeight;
PatBlt(Result.Canvas.Handle, 0, 0, Result.Width, Result.Height, Whiteness);
g := TGpGraphics.Create(Result.Canvas.Handle);
g.DrawImage(Self, 0, 0, Result.Width, Result.Height);
g.Free;
end;
constructor TGpBitmap.Create(W, H: integer);
const
PixelFormatGDI = $00020000; // Is a GDI-supported format
PixelFormatAlpha = $00040000; // Has an alpha component
PixelFormatCanonical = $00200000;
PixelFormat32bppARGB = (10 or (32 shl 8) or PixelFormatAlpha or PixelFormatGDI
or PixelFormatCanonical);
var
err: integer;
begin
inherited Create;
err := GdipCreateBitmapFromScan0(W, H, 0, PixelFormat32bppARGB, nil, fHandle);
if err <> 0 then
raise EGDIPlus.Create('Can''t create bitmap');
end;
constructor TGpBitmap.Create(IStr: IStream);
var
err: integer;
begin
inherited Create;
err := GdipCreateBitmapFromStream(IStr, fHandle);
if err <> 0 then
raise EGDIPlus.Create('Can''t create bitmap');
end;
constructor TGpBitmap.Create(W, H: integer; Graphics: TGpGraphics);
begin
inherited Create;
err := GdipCreateBitmapFromGraphics(W, H, Graphics.fGraphics, fHandle);
if err <> 0 then
raise EGDIPlus.Create('Can''t create bitmap');
end;
function TGpBitmap.GetPixel(X, Y: integer): DWord;
begin
GdipBitmapGetPixel(fHandle, X, Y, Result);
end;
procedure TGpBitmap.SetPixel(X, Y: integer; Color: DWord);
begin
GdipBitmapSetPixel(fHandle, X, Y, Color);
end;
{$ifndef NoGDIPlus}
var
InitToken: DWord;
Startup: TGDIStartup;
LibHandle: THandle;
GDIPlusCount: integer;
{$endif}
procedure CheckInitGDIPlus;
begin
{$ifndef NoGDIPlus}
if GDIPlusCount = 0 then
begin
LibHandle := LoadLibrary(GdiPlusLib);
if LibHandle <> 0 then
begin
@GdiplusStartup := GetProcAddress(LibHandle, 'GdiplusStartup');
@GdiplusShutdown := GetProcAddress(LibHandle, 'GdiplusShutdown');
@GdipDeleteGraphics := GetProcAddress(LibHandle, 'GdipDeleteGraphics');
@GdipCreateFromHDC := GetProcAddress(LibHandle, 'GdipCreateFromHDC');
@GdipDrawImageI := GetProcAddress(LibHandle, 'GdipDrawImageI');
@GdipDrawImageRectI := GetProcAddress(LibHandle, 'GdipDrawImageRectI');
@GdipLoadImageFromFile := GetProcAddress(LibHandle, 'GdipLoadImageFromFile');
@GdipLoadImageFromStream := GetProcAddress(LibHandle, 'GdipLoadImageFromStream');
@GdipCreateBitmapFromStream:= GetProcAddress(LibHandle, 'GdipCreateBitmapFromStream');
@GdipDisposeImage := GetProcAddress(LibHandle, 'GdipDisposeImage');
@GdipGetImageWidth := GetProcAddress(LibHandle, 'GdipGetImageWidth');
@GdipGetImageHeight := GetProcAddress(LibHandle, 'GdipGetImageHeight');
@GdipGetImageGraphicsContext := GetProcAddress(LibHandle, 'GdipGetImageGraphicsContext');
@GdipGraphicsClear := GetProcAddress(LibHandle, 'GdipGraphicsClear');
@GdipCreateBitmapFromScan0 := GetProcAddress(LibHandle, 'GdipCreateBitmapFromScan0');
@GdipDrawImagePointRect := GetProcAddress(LibHandle, 'GdipDrawImagePointRect');
@GdipScaleWorldTransform := GetProcAddress(LibHandle, 'GdipScaleWorldTransform');
@GdipCreateBitmapFromGraphics := GetProcAddress(LibHandle, 'GdipCreateBitmapFromGraphics');
@GdipBitmapGetPixel := GetProcAddress(LibHandle, 'GdipBitmapGetPixel');
@GdipDrawImageRectRectI := GetProcAddress(LibHandle, 'GdipDrawImageRectRectI');
@GdipCreateHBITMAPFromBitmap := GetProcAddress(LibHandle, 'GdipCreateHBITMAPFromBitmap');
@GdipSetInterpolationMode := GetProcAddress(LibHandle, 'GdipSetInterpolationMode');
@GdipGetInterpolationMode := GetProcAddress(LibHandle, 'GdipGetInterpolationMode');
@GdipBitmapSetPixel := GetProcAddress(LibHandle, 'GdipBitmapSetPixel');
FillChar (Startup, sizeof (Startup), 0);
Startup.Version := 1;
Err := GdiPlusStartup (InitToken, @Startup, nil);
GDIPlusActive := Err = 0;
if not GDIPlusActive then
FreeLibrary(LibHandle);
end;
end;
Inc(GDIPlusCount);
{$endif}
end;
procedure CheckExitGDIPlus;
begin
{$ifndef NoGDIPlus}
Dec(GDIPlusCount);
if GDIPlusCount = 0 then
if GDIPlusActive then
begin
GdiplusShutdown (InitToken);
FreeLibrary(LibHandle);
GDIPlusActive := False;
end;
{$endif}
end;
end.

View File

@ -0,0 +1,54 @@
<?xml version="1.0"?>
<CONFIG>
<Package Version="3">
<Name Value="HtmlComp"/>
<AddToProjectUsesSection Value="False"/>
<Author Value="L. David Baldwin's HTML Components for Delphi; ported to Lazarus by Phil Hess"/>
<CompilerOptions>
<Version Value="8"/>
<SearchPaths>
<UnitOutputDirectory Value="units/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<SyntaxMode Value="Delphi"/>
<CStyleOperator Value="False"/>
<IncludeAssertionCode Value="True"/>
<AllowLabel Value="False"/>
<CPPInline Value="False"/>
</SyntaxOptions>
</Parsing>
<Other>
<WriteFPCLogo Value="False"/>
<CustomOptions Value="-dDebugIt"/>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Description Value="HTML Components for Lazarus"/>
<License Value="MPL 1.1"/>
<Version Release="2"/>
<Files Count="1">
<Item1>
<Filename Value="htmlcompreg.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="HtmlCompReg"/>
</Item1>
</Files>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="2">
<Item1>
<PackageName Value="LCL"/>
</Item1>
<Item2>
<PackageName Value="IDEIntf"/>
</Item2>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)/"/>
</UsageOptions>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
</PublishOptions>
</Package>
</CONFIG>

View File

@ -0,0 +1,260 @@
LazarusResources.Add('THTMLVIEWER','BMP',[
'BM'#246#6#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#24#0#0#0#24#0#0#0#1#0#24#0#0#0#0#0
+#192#6#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#255#0#0#255#0#0
+#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255
+#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0
+#255#0#0#0#128#128#0#128#128#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0
+#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255
+#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#0#128#128#0#128#128#255
+#0#0#255#0#0#0#255#255#255#0#0#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0
+#255#255#255#0#0#0#255#255#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0#255
+#255#255#0#0#0#255#255#255#0#0#255#0#0#0#128#128#0#128#128#255#0#0#255#0#0#0
+#255#255#255#0#0#255#0#0#255#0#0#0#255#255#255#0#0#0#255#255#255#0#0#255#0#0
+#0#255#255#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0#255#255#255#0#0#0#255
+#255#255#0#0#255#0#0#0#128#128#0#128#128#255#0#0#255#0#0#0#255#255#255#0#0
+#255#0#0#255#0#0#0#255#255#255#0#0#0#255#255#255#0#0#255#0#0#0#255#255#255#0
+#0#255#0#0#0#255#255#255#0#0#255#0#0#0#255#255#255#0#0#0#255#255#255#0#0#255
+#0#0#0#128#128#0#128#128#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#255#0#0#0
+#255#255#255#0#0#0#255#255#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0#255
+#255#255#0#0#255#0#0#0#255#255#255#0#0#0#255#255#255#0#0#255#0#0#0#128#128#0
+#128#128#255#0#0#255#0#0#0#255#255#0#255#255#255#0#0#255#0#0#0#255#255#255#0
+#0#0#255#255#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0#255#255#255#0#0#255
+#0#0#0#255#255#255#0#0#0#255#255#255#0#0#255#0#0#0#128#128#0#128#128#255#0#0
+#255#0#0#0#255#255#255#0#0#0#255#255#0#255#255#255#0#0#255#0#0#0#255#255#0
+#255#255#255#0#0#0#255#255#0#255#255#0#255#255#255#0#0#0#255#255#0#255#255
+#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0#128#128#0#128#128#255#0#0#255#0
+#0#0#255#255#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#0#255#255#255#0#0#255#0
+#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#0#255#255
+#255#0#0#255#0#0#0#128#128#0#128#128#255#0#0#255#0#0#0#255#255#255#0#0#255#0
+#0#255#0#0#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0
+#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0#128#128
+#0#128#128#255#0#0#255#0#0#0#255#255#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0
+#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255
+#0#0#255#0#0#0#255#255#255#0#0#255#0#0#0#128#128#0#128#128#255#0#0#255#0#0
+#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255
+#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0
+#255#0#0#0#128#128#0#128#128#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0
+#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255
+#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#255#0#0#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
,#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0
+#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128
+#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128#0#128#128
]);
LazarusResources.Add('TFRAMEVIEWER','BMP',[
'BM'#246#6#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#24#0#0#0#24#0#0#0#1#0#24#0#0#0#0#0
+#192#6#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#128#128#128#128#128#128#128#128
+#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128
+#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128
+#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
+#255#0#255#255#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192
+#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0
+#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192
+#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128
+#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192
+#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0
+#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#0#255
+#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128
+#128#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192
+#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255
+#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192
+#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192
+#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255
+#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255
+#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128
+#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#128#128#128#128
+#128#128#128#128#128#128#128#128#0#255#255#128#128#128#128#128#128#128#128
+#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#0#255#255
+#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
,#255#255#0#255#255#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128
+#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#0#255#255#128#128#128#128#128#128#128#128#128#128#128#128
+#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128
+#128#128#128#128#128#128#128#128#128#128#128#0#255#255#128#128#128#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0
+#255#255#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192
]);
LazarusResources.Add('TFRAMEBROWSER','BMP',[
'BM'#246#6#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#24#0#0#0#24#0#0#0#1#0#24#0#0#0#0#0
+#192#6#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#128#128#128#128#128#128#128#128
+#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128
+#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128
+#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
+#255#0#255#255#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192
+#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0
+#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192
+#192#192#192#0#0#0#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#0#0#255#0#0#0
+#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128
+#192#192#192#192#192#192#192#192#192#128#128#128#0#0#255#0#0#0#0#0#0#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255
+#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192
+#192#192#192#192#0#0#255#0#0#255#0#0#255#0#0#0#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255
+#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#0#0#0
+#0#0#255#0#0#255#0#0#0#192#192#192#192#192#192#192#192#192#192#192#192#0#255
+#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192
+#192#192#192#192#192#0#255#255#128#128#128#0#0#255#0#0#0#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0
+#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#0#255
+#255#128#128#128#0#0#255#0#0#255#0#0#0#192#192#192#192#192#192#192#192#192
+#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192
+#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192
+#128#128#128#0#0#255#0#0#0#192#192#192#192#192#192#192#192#192#0#255#255#128
+#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192
+#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#0#0
+#255#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0
+#255#255#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#0#255
+#255#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128
+#128#128#128#128#128#128#0#255#255#128#128#128#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#0#255#255
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
+#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#128#128#128
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
,#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255
+#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#0#255#255#128#128#128#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#0#255#255#128#128#128
+#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128
+#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128#128
+#128#0#255#255#128#128#128#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#0#255#255#0#255#255#0#255#255#0#255#255
+#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255
+#255#0#255#255#0#255#255#0#255#255#0#255#255#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192#192
+#192#192#192#192#192#192#192#192#192#192#192#192#192#192
]);

View File

@ -0,0 +1,21 @@
{ This file was automatically created by Lazarus. do not edit!
This source is only used to compile and install the package.
}
unit HtmlComp;
interface
uses
HtmlCompReg, LazarusPackageIntf;
implementation
procedure Register;
begin
RegisterUnit('HtmlCompReg', @HtmlCompReg.Register);
end;
initialization
RegisterPackage('HtmlComp', @Register);
end.

View File

@ -0,0 +1,20 @@
unit HtmlCompReg;
interface
uses
Classes, LResources, HTMLView, FramView, FramBrwz;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('HTML Components', [THTMLViewer, TFrameViewer, TFrameBrowser]);
end;
initialization
{$I htmlcomp.lrs}
end.

View File

@ -0,0 +1,208 @@
{Version 9.45}
{$IFNDEF LCL} //Delphi
{$ifDef ver150} {Delphi 7}
{$WARN Unsafe_Type off}
{$WARN Unsafe_Code off}
{$WARN Unsafe_Cast off}
{$endif}
{$A+,B-,F-,G+,I+,P+,T-,V+,X+}
{$ifdef Win32}
{$J+} {typed constants are modifiable}
{$H+} {LongStrings On}
{$endif}
{$ifndef DebugIt}
{$R-} {Range checking off}
{$W-} {Stack frames off}
{$Q-} {overflow checking off}
{$S-} {stack checking off}
{$C-} {Assertions off}
{$ifdef Win32}
{$O+} {optimization on}
{$endif}
{$else}
{$R+} {Range checking on}
{$W+} {Stack frames on}
{$Q+} {overflow checking on}
{$S+} {stack checking on}
{$C+} {Assertions on}
{$ifdef Win32}
{$O-} {optimization off}
{$endif}
{$endif}
{$ELSE} // LCL
{$A+,B-,H+,I+,J+,P+,T-,V+,X+}
{$IFNDEF DebugIt}
{$C-,Q-,R-,S-}
{$ELSE}
{$C+,Q+,R+,S+}
{$ENDIF}
{$ENDIF}
{$Define ver100_plus}
{$Define ver120_plus}
{$Define Delphi6_Plus}
{$Define Delphi7_Plus}
{$ifdef ver90} {Delphi 2}
{$UnDef ver100_plus}
{$UnDef ver120_plus}
{$UnDef Delphi6_Plus}
{$UnDef Delphi7_Plus}
{$endif}
{$ifdef ver93} {C++Builder 1}
{$Define CppBuilder}
{$UnDef ver100_plus}
{$UnDef ver120_plus}
{$UnDef Delphi6_Plus}
{$UnDef Delphi7_Plus}
{$endif}
{$ifdef ver100} {Delphi 3}
{$UnDef ver120_plus}
{$UnDef Delphi6_Plus}
{$UnDef Delphi7_Plus}
{$endif}
{$ifdef ver110} {C++Builder 3}
{$ObjExportAll On}
{$Define CppBuilder}
{$UnDef ver120_plus}
{$UnDef Delphi6_Plus}
{$UnDef Delphi7_Plus}
{$endif}
{$ifdef Ver120} {Delphi 4}
{$UnDef Delphi6_Plus}
{$UnDef Delphi7_Plus}
{$endif}
{$ifdef ver125} {C++Builder 4}
{$ObjExportAll On}
{$Define CppBuilder}
{$UnDef Delphi6_Plus}
{$UnDef Delphi7_Plus}
{$endif}
{$ifdef Ver130} {Delphi 5, C++Builder 5}
{$ifdef BCB} {C++Builder}
{$Define CppBuilder}
{$ObjExportAll On}
{$endif}
{$UnDef Delphi6_Plus}
{$UnDef Delphi7_Plus}
{$endif}
{$ifDef ver140} {Delphi 6}
{$UnDef Delphi7_Plus}
{$endif}
{$ifDef ver150} {Delphi 7}
{$endif}
{$ifdef Delphi6_Plus}
{$Warn Symbol_Platform Off}
{$endif}
{$IFNDEF LCL}
{.$Define NoOldPNG} {To eliminate the older PNG image code, define "NoOldPNG" by
removing the '.'. Only do this if you are sure the gdiplus.dll is present
or don't care about PNG support}
{$ELSE}
{$Define NoOldPNG} //Exclude .obj files, PNGZLIB1 and PngImage1.
{$ENDIF}
{.$Define NoGDIPlus} {The gdiplus.dll provides Alpha transparency support for
PNG images. If, for some reason the use of the gdiplus.dll is
undesirable, define "NoGDIPlus" by removing the '.'. Defining both
NoGDIPlus and NoOldPNG will remove support for PNG images entirely.}
{$Define NoMetaFile} {Metafiles may be displayed by undefining this constant.
NoMetaFile is defined by default to emphasize the fact that Metafile
display and some printing operations are currently incompatible in Win98.
For applications where printing is unimportant or Win98/95/ME need not
be supported, undefining this constant will allow Metafiles to be
displayed.}
{.$Define NoTabLink} {To eliminate tabbing between links, define "NoTabLink" by
removing the '.'. For documents with hundreds of links, tabbing may not
be desirable and also may cause delays in loading. Even when NoTabLink
is not defined, there is another constant, MaxTab, which eliminates
tabbing to MaxTab links. MaxTab is defined in readhtml.pas}
{$Define FastRadio}
{if you have a form with a great many radio buttons, you may want to
define FastRadio to help speed the action. Note that this option
changes the way tabbing works. With FastRadio off, tabs move only to
the next control that is visible. With FastRadio on, tabs move to
the next control even if it is not visible.}
{.$Define Quirk}
{Defining Quirk makes changes which simulate some of the
quirks of other browsers. It may be desirable to define this constant
if you expect to be displaying HTML which might depend on these quirks.
Currently, Quirk forces the font color and size to return to default
values in each table cell.}
{.$Define OpOnChange}
{Without this definition, the <select> form controls (TListbox and
TCombobox) will issue the OnObjectChange event only when the control
loses the focus which is according to HTML specs. Defining OpOnChange
simulates the way IExplorer does it, issuing the OnChange event
immediately when a change is made.}
{.$Define UseTNT}
{Defining UseTNT allows the TNT Unicode controls to be used for HTML Form
controls in place of the Delphi TEdit, TButton, TListbox, TCombobox, and
TMemo controls. See "Using Third Party Controls" below.}
{.$Define UseElpack}
{Defining UseElpack allows the Elpack Unicode controls to be used for
HTML Form controls in place of the Delphi TEdit, TButton, TListbox,
TCombobox, and TMemo controls. See "Using Third Party Controls" below.}
{
Using Third Party Controls
Unfortunately, the VCL controls that come with Delphi do not handle Unicode well.
In fact, in many cases, they do not work well with multibyte fonts either. For
this reason, provision had been made to use either the TNT or Elpack third party
controls.
The TNT controls may be obtained at
http://home.ccci.org/wolbrink/tnt/delphi_unicode_controls.htm. They are
freeware. They handle Unicode well in Win2000 and WinXP (probably NT also).
However, with Win95/98 they are not Unicode but do handle multibyte and other
character sets well with the exception of UTF-8. The TNT controls do not work
with Delphi 4.
The Elpack controls may be purchased at http://www.eldos.org/elpack/elpack.html.
For use with the HTML Components, the item you will want is the "LMD Elpack 4.0
Standard VCL". The Elpack controls are fully Unicode for Win95 through WinXP.
Either of these control sets may be used by defining the appropriate compile
time constant, "UseTNT" or "UseElpack". You can define these in htmlcons.inc or
in the Project|Options dialog, Directories/Conditionals tab. Be sure and do a
complete Build on your application after changing these compile time constants.
htmlsub.pas defines five new symbols to represent the form controls. These are
ThtEdit, ThtButton, ThtMemo, ThtCombobox, ThtListbox. The definitions of
these symbols change with the set of controls being used. So, for instance,
ThtEdit is the same as TEdit for the Delphi controls but becomes TTntEdit when
UseTNT is defined or TElEdit when UseElpack is defined. If your application
accesses the form controls for special purposes, it would be best to use these
new symbols. For example code like,
if TFormControlObj(Items[I]).TheControl is TEdit then
TEdit(TFormControlObj(Items[I]).TheControl).Text := ........
might be better written as:
if TFormControlObj(Items[I]).TheControl is ThtEdit then
ThtEdit(TFormControlObj(Items[I]).TheControl).Text := ........
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,577 @@
{Version 9.45}
{
Copyright (c) 1995-2008 by L. David Baldwin
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Note that the source modules, HTMLGIF1.PAS, PNGZLIB1.PAS, DITHERUNIT.PAS, and
URLCON.PAS are covered by separate copyright notices located in those modules.
}
{$i htmlcons.inc}
unit HTMLGif2;
interface
uses
{$IFNDEF LCL} Windows, mmSystem, {$ELSE} LclIntf, LMessages, Types, LclType, HtmlMisc, {$ENDIF}
SysUtils, Classes, Graphics, Controls, ExtCtrls, htmlUN2,
htmlgif1;
type
TRGBColor = packed Record
Red,
Green,
Blue: Byte;
end;
TDisposalType = (dtUndefined, {Take no action}
dtDoNothing, {Leave graphic, next frame goes on top of it}
dtToBackground,{restore original background for next frame}
dtToPrevious); {restore image as it existed before this frame}
type
ThtBitmap=class(TBitmap)
protected
htMask: TBitmap;
htTransparent: boolean;
procedure Draw(ACanvas: TCanvas; const Rect: TRect); override;
procedure StretchDraw(ACanvas: TCanvas; const DestRect,
SrcRect: TRect);
public
destructor Destroy; override;
end;
TGIFImage = class;
TgfFrame = class
private
{ private declarations }
frLeft: Integer;
frTop: Integer;
frWidth: Integer;
frHeight: Integer;
frDelay: Integer;
frDisposalMethod: TDisposalType;
TheEnd: boolean; {end of what gets copied}
IsCopy: boolean;
Public
constructor Create;
constructor CreateCopy(Item: TgfFrame);
destructor Destroy; override;
end;
TgfFrameList = class(TList)
private
function GetFrame(I: integer): TgfFrame;
public
{note: Frames is 1 based, goes from [1..Count]}
property Frames[I: integer]: TgfFrame read GetFrame; default;
end;
TGIFImage = class(TPersistent)
private
{ Private declarations }
FAnimated: Boolean;
FCurrentFrame: Integer;
FImageWidth: Integer;
FImageHeight: Integer;
FNumFrames: Integer;
FNumIterations: Integer;
FTransparent: Boolean;
FVisible: Boolean;
Strip: ThtBitmap;
TheEnd: boolean; {copy to here}
FBitmap: TBitmap;
FMaskedBitmap, FMask: TBitmap;
FAnimate: Boolean;
FStretchedRect: TRect;
WasDisposal: TDisposalType;
Frames: TgfFrameList;
CurrentIteration: Integer;
LastTime: DWord;
CurrentInterval: DWord;
procedure SetAnimate(AAnimate: Boolean);
procedure SetCurrentFrame(AFrame: Integer);
function GetMaskedBitmap: TBitmap;
function GetMask: TBitmap;
function GetBitMap: TBitmap;
procedure NextFrame(OldFrame: Integer);
public
ShowIt: boolean;
IsCopy: boolean; {set if this is a copy of one in Cache}
{ Public declarations }
constructor Create;
constructor CreateCopy(Item: TGIFImage);
destructor Destroy; override;
procedure Draw(Canvas: TCanvas; X, Y, Wid, Ht: integer);
property Bitmap: TBitmap read GetBitmap;
property MaskedBitmap: TBitmap read GetMaskedBitmap;
property Mask: TBitmap read GetMask;
property IsAnimated: Boolean read FAnimated;
property IsTransparent: Boolean read FTransparent;
property NumFrames: Integer read FNumFrames;
property NumIterations: Integer read FNumIterations;
procedure CheckTime(WinControl: TWinControl);
property Width: integer read FImageWidth;
property Height: integer read FImageHeight;
property Animate: Boolean read FAnimate write SetAnimate;
property CurrentFrame: Integer read FCurrentFrame write SetCurrentFrame;
property Visible: Boolean read FVisible write FVisible;
end;
function CreateAGifFromStream(var NonAnimated: boolean;
Stream: TStream): TGifImage;
function CreateAGif(const Name: string; var NonAnimated: boolean): TGifImage;
implementation
uses
Styleun, htmlsubs;
function CreateBitmap(Width, Height: integer): TBitmap;
begin
Result := TBitmap.Create;
Result.Width := Width;
Result.Height := Height;
end;
function CreateAGifFromStream(var NonAnimated: boolean;
Stream: TStream): TGifImage;
var
AGif: TGif;
Frame: TgfFrame;
I: integer;
ABitmap, AMask: TBitmap;
begin
Result := Nil;
try
NonAnimated := True;
AGif := TGif.Create;
Try
AGif.LoadFromStream(Stream);
Result := TGifImage.Create;
Result.FNumFrames := AGif.ImageCount;
Result.FAnimated := Result.FNumFrames > 1;
NonAnimated := not Result.FAnimated;
Result.FImageWidth := AGif.Width;
Result.FImageHeight := AGif.Height;
Result.FNumIterations:= AGif.LoopCount;
if Result.FNumIterations < 0 then {-1 means no loop block}
Result.FNumIterations := 1
else if Result.FNumIterations > 0 then
Inc(Result.FNumIterations); {apparently this is the convention}
Result.FTransparent := AGif.Transparent;
with Result do
begin
Strip := ThtBitmap.Create;
ABitmap := AGif.GetStripBitmap(AMask);
try
Strip.Assign(ABitmap);
Strip.htMask := AMask;
Strip.htTransparent := Assigned(AMask);
finally
ABitmap.Free;
end;
if Result.Strip.Palette <> 0 then
DeleteObject(Result.Strip.ReleasePalette);
Result.Strip.Palette := CopyPalette(ThePalette);
end;
for I := 0 to Result.FNumFrames-1 do
begin
Frame := TgfFrame.Create;
try
Frame.frDisposalMethod := TDisposalType(AGif.ImageDisposal[I]);
Frame.frLeft := AGif.ImageLeft[I];
Frame.frTop := AGif.ImageTop[I];
Frame.frWidth := AGif.ImageWidth[I];
Frame.frHeight := AGif.ImageHeight[I];
Frame.frDelay := IntMax(30, AGif.ImageDelay[I] * 10);
except
Frame.Free;
Raise;
end;
Result.Frames.Add(Frame);
end;
if Result.IsAnimated then
Result.WasDisposal := dtToBackground;
finally
AGif.Free;
end;
except
FreeAndNil(Result);
end;
end;
function CreateAGif(const Name: string; var NonAnimated: boolean): TGifImage;
var
Stream: TFileStream;
begin
Result := Nil;
try
Stream := TFileStream.Create(Name, fmOpenRead or fmShareDenyWrite);
try
Result := CreateAGifFromStream(NonAnimated, Stream);
finally
Stream.Free;
end;
except
end;
end;
{----------------TgfFrame.Create}
constructor TgfFrame.Create;
begin
inherited Create;
end;
constructor TgfFrame.CreateCopy(Item: TgfFrame);
begin
inherited Create;
System.Move(Item.frLeft, frLeft, DWord(@TheEnd)-DWord(@frLeft));
IsCopy := True;
end;
{----------------TgfFrame.Destroy}
destructor TgfFrame.Destroy;
begin
inherited Destroy;
end;
{----------------TGIFImage.Create}
constructor TGIFImage.Create;
begin
inherited Create;
FVisible := True;
FCurrentFrame := 1;
Frames := TgfFrameList.Create;
CurrentIteration := 1;
end;
constructor TGIFImage.CreateCopy(Item: TGIFImage);
var
I: integer;
begin
inherited Create;
FImageWidth := Item.Width;
FimageHeight := Item.Height;
System.Move(Item.FAnimated, FAnimated, DWord(@TheEnd)-DWord(@FAnimated));
IsCopy := True;
Frames := TgfFrameList.Create;
for I := 1 to FNumFrames do
Frames.Add(TgfFrame.CreateCopy(Item.Frames[I]));
FCurrentFrame := 1;
CurrentIteration := 1;
if FAnimated then
WasDisposal := dtToBackground;
end;
{----------------TGIFImage.Destroy}
destructor TGIFImage.Destroy;
var
I: Integer;
begin
for I := Frames.Count downto 1 do
Frames[I].Free;
Frames.Free;
FreeAndNil(FBitmap);
if not IsCopy then
FreeAndNil(Strip);
FMaskedBitmap.Free;
FreeAndNil(FMask);
inherited Destroy;
end;
{----------------TGIFImage.Draw}
procedure TGIFImage.Draw(Canvas: TCanvas; X, Y, Wid, Ht: integer);
var
SRect: TRect;
ALeft: integer;
begin
FStretchedRect := Rect(X, Y, X+Wid, Y+Ht);
SetStretchBltMode(Canvas.Handle, ColorOnColor);
if (FVisible) and (FNumFrames > 0) then
begin
with Frames[FCurrentFrame] do
begin
ALeft := (FCurrentFrame-1)*Width;
SRect := Rect(ALeft, 0, ALeft+Width, Height); {current frame location in Strip bitmap}
end;
Canvas.CopyMode := cmSrcCopy;
{draw the correct portion of the strip}
Strip.StretchDraw(Canvas, FStretchedRect, SRect);
end;
end;
{----------------TGifImage.CheckTime}
procedure TGifImage.CheckTime(WinControl: TWinControl);
var
ThisTime: DWord;
begin
if not FAnimate then Exit;
ThisTime := timeGetTime;
if ThisTime - LastTime < CurrentInterval then
Exit;
LastTime := ThisTime;
if (FCurrentFrame = FNumFrames) then
begin
if (FNumIterations > 0) and (CurrentIteration >= FNumIterations) then
begin
SetAnimate(False);
Exit;
end;
Inc(CurrentIteration);
end;
NextFrame(FCurrentFrame);
Inc(FCurrentFrame);
if (FCurrentFrame > FNumFrames) or (FCurrentFrame <= 0) then
FCurrentFrame := 1;
InvalidateRect(WinControl.Handle, @FStretchedRect, True);
CurrentInterval := IntMax(Frames[FCurrentFrame].frDelay, 1);
end;
{----------------TGIFImage.SetAnimate}
procedure TGIFImage.SetAnimate(AAnimate: Boolean);
begin
if AAnimate = FAnimate then Exit;
FAnimate := AAnimate;
if AAnimate and (FNumFrames > 1) then
begin
CurrentInterval := IntMax(Frames[FCurrentFrame].frDelay, 1);
LastTime := timeGetTime;
end;
end;
{----------------TGIFImage.SetCurrentFrame}
procedure TGIFImage.SetCurrentFrame(AFrame: Integer);
begin
if AFrame = FCurrentFrame then Exit;
NextFrame(FCurrentFrame);
if AFrame > FNumFrames then FCurrentFrame := 1
else if AFrame < 1 then FCurrentFrame := FNumFrames
else FCurrentFrame := AFrame;
if FAnimated then
WasDisposal := dtToBackground;
end;
{----------------TGIFImage.GetBitmap}
function TGIFImage.GetBitmap: TBitmap;
begin
Result := GetMaskedBitmap;
end;
{----------------TGIFImage.GetMaskedBitmap:}
function TGIFImage.GetMaskedBitmap: TBitmap;
{This returns frame 1}
begin
if not Assigned(FMaskedBitmap) then
begin
FMaskedBitmap := TBitmap.Create;
FMaskedBitmap.Assign(Strip);
FMaskedBitmap.Width := FImageWidth;
if Strip.htTransparent then
begin
FMask := TBitmap.Create;
FMask.Assign(Strip.htMask);
FMask.Width := FImageWidth;
end;
FMaskedBitmap.Transparent := False;
end;
Result := FMaskedBitmap;
end;
{----------------TGIFImage.GetMask:}
function TGIFImage.GetMask: TBitmap;
{This returns mask for frame 1. Content is black, background is white}
begin
if not FTransparent then
Result := nil
else
begin
if not Assigned(FMask) then
GetMaskedBitmap;
Result := FMask;
end;
end;
{----------------TGIFImage.NextFrame}
procedure TGIFImage.NextFrame(OldFrame: Integer);
begin
WasDisposal := Frames[OldFrame].frDisposalMethod;
end;
{----------------TgfFrameList.GetFrame}
function TgfFrameList.GetFrame(I: integer): TgfFrame;
begin
Assert((I <= Count) and (I >= 1 ), 'Frame index out of range');
Result := TgfFrame(Items[I-1]);
end;
{ ThtBitmap }
var
AHandle: THandle;
destructor ThtBitmap.Destroy;
begin
htMask.Free;
inherited;
end;
{----------------ThtBitmap.Draw}
procedure ThtBitmap.Draw(ACanvas: TCanvas; const Rect: TRect);
var
OldPalette: HPalette;
RestorePalette: Boolean;
DoHalftone: Boolean;
Pt: TPoint;
BPP: Integer;
MaskDC: HDC;
Save: THandle;
begin
with Rect do
begin
AHandle := ACanvas.Handle; {LDB}
PaletteNeeded;
OldPalette := 0;
RestorePalette := False;
if Palette <> 0 then
begin
OldPalette := SelectPalette(ACanvas.Handle, Palette, True);
RealizePalette(ACanvas.Handle);
RestorePalette := True;
end;
BPP := GetDeviceCaps(ACanvas.Handle, BITSPIXEL) *
GetDeviceCaps(ACanvas.Handle, PLANES);
DoHalftone := (BPP <= 8) and (PixelFormat in [pf15bit, pf16bit, pf24bit]);
if DoHalftone then
begin
GetBrushOrgEx(ACanvas.Handle, pt);
SetStretchBltMode(ACanvas.Handle, HALFTONE);
SetBrushOrgEx(ACanvas.Handle, pt.x, pt.y, @pt);
end else if not Monochrome then
SetStretchBltMode(ACanvas.Handle, STRETCH_DELETESCANS);
try
AHandle := Canvas.Handle; {LDB}
if htTransparent then
begin
Save := 0;
MaskDC := 0;
try
MaskDC := CreateCompatibleDC(0); {LDB}
Save := SelectObject(MaskDC, MaskHandle);
TransparentStretchBlt(ACanvas.Handle, Left, Top, Right - Left,
Bottom - Top, Canvas.Handle, 0, 0, Width,
Height, htMask.Canvas.Handle, 0, 0); {LDB}
finally
if Save <> 0 then SelectObject(MaskDC, Save);
if MaskDC <> 0 then DeleteDC(MaskDC);
end;
end
else
StretchBlt(ACanvas.Handle, Left, Top, Right - Left, Bottom - Top,
Canvas.Handle, 0, 0, Width,
Height, ACanvas.CopyMode);
finally
if RestorePalette then
SelectPalette(ACanvas.Handle, OldPalette, True);
end;
end;
end;
procedure ThtBitmap.StretchDraw(ACanvas: TCanvas; const DestRect, SrcRect: TRect);
{Draw parts of this bitmap on ACanvas}
var
OldPalette: HPalette;
RestorePalette: Boolean;
DoHalftone: Boolean;
Pt: TPoint;
BPP: Integer;
begin
with DestRect do
begin
AHandle := ACanvas.Handle; {LDB}
PaletteNeeded;
OldPalette := 0;
RestorePalette := False;
if Palette <> 0 then
begin
OldPalette := SelectPalette(ACanvas.Handle, Palette, True);
RealizePalette(ACanvas.Handle);
RestorePalette := True;
end;
BPP := GetDeviceCaps(ACanvas.Handle, BITSPIXEL) *
GetDeviceCaps(ACanvas.Handle, PLANES);
DoHalftone := (BPP <= 8) and (PixelFormat in [pf15bit, pf16bit, pf24bit]);
if DoHalftone then
begin
GetBrushOrgEx(ACanvas.Handle, pt);
SetStretchBltMode(ACanvas.Handle, HALFTONE);
SetBrushOrgEx(ACanvas.Handle, pt.x, pt.y, @pt);
end else if not Monochrome then
SetStretchBltMode(ACanvas.Handle, STRETCH_DELETESCANS);
try
AHandle := Canvas.Handle; {LDB}
if htTransparent then
TransparentStretchBlt(ACanvas.Handle, Left, Top, Right - Left,
Bottom - Top, Canvas.Handle,
SrcRect.Left, SrcRect.Top, SrcRect.Right - SrcRect.Left, SrcRect.Bottom - SrcRect.Top,
htMask.Canvas.Handle, SrcRect.Left, SrcRect.Top) {LDB}
else
StretchBlt(ACanvas.Handle, Left, Top, Right - Left, Bottom - Top,
Canvas.Handle,
SrcRect.Left, SrcRect.Top, SrcRect.Right - SrcRect.Left, SrcRect.Bottom - SrcRect.Top,
ACanvas.CopyMode);
finally
if RestorePalette then
SelectPalette(ACanvas.Handle, OldPalette, True);
end;
end;
end;
end.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,89 @@
LazarusResources.Add('ErrBitmap','BMP',[
'BM'#246#0#0#0#0#0#0#0'v'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0#4#0#0#0#0#0#128
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128
+#0#128#0#0#0#128#0#128#0#128#128#0#0#128#128#128#0#192#192#192#0#0#0#255#0#0
+#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0#255#247
+'wwww'#255#255'{'#187#187#187#187#183#255#247#187#187#176#11#187#187''#247
+#187#187#0#0#187#187''#247#187#187#176#11#187#187''#247#187#187#187#187#187
+#187''#247#187#187#187#187#187#187''#247#187#187#176#11#187#187''#247#187
+#187#176#11#187#187''#247#187#187#176#11#187#187''#247#187#187#0#0#187#187
+''#247#187#187#0#0#187#187''#247#187#187#0#0#187#187''#247#187#187#176#11
+#187#187''#255'{'#187#187#187#187#183#255#255#247'wwww'#255
]);
LazarusResources.Add('DefaultBitmap','BMP',[
'BM'#246#0#0#0#0#0#0#0'v'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0#4#0#0#0#0#0#128
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128
+#0#128#0#0#0#128#0#128#0#128#128#0#0#128#128#128#0#192#192#192#0#0#0#255#0#0
+#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0#255#255
+#255#255#136#143#255#255''#255#255#136#136#136#143#255'w'#255#244'DD'#136
+#136#255'wtDDDD'#136#143'wDD4DDH'#143'wDD4'#196'DH'#136'tDC3'#204'LC'#136'tD'
+'C3'#204#204'C'#136'tDC<'#204#195'3'#143'tDC'#204#204#195'3'#143'wDC3'#204
+#204'H'#255'wD33'#204#195'O'#255'wt33<C'#255#255'wwt4Dw'#255'wwwwwww'#255'w'
+'wwwwww'
]);
LazarusResources.Add('ErrBitmapMask','BMP',[
'BM~'#0#0#0#0#0#0#0'>'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0#1#0#0#0#0#0'@'#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#224#7#0#0#192#3#0#0
+#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1
+#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0#192#3#0#0#224#7#0#0
]);
LazarusResources.Add('Hand_Cursor','CUR',[
#0#0#2#0#1#0' '#0#0#0#0#0#0'0'#1#0#0#22#0#0#0'('#0#0#0' '#0#0#0'@'#0#0#0#1#0
+#1#0#0#0#0#0#0#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#31#254#0#0
+'?'#254#0#0''#254#0#0''#254#0#0'o'#254#0#0'm'#182#0#0'm'#182#0#0#13#182#0#0
+#13#182#0#0#12#0#0#0#12#0#0#0#12#0#0#0#12#0#0#0#12#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#192#1
+#255#255#192#1#255#255#192#1#255#255#192#0#255#255#128#0#255#255#0#0#255#255
+#0#0#255#255#0#0#255#255#0#0#255#255#0#0#255#255#128#0#255#255#224#0#255#255
+#224'I'#255#255#225#255#255#255#225#255#255#255#225#255#255#255#225#255#255
+#255#243#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255
]);
LazarusResources.Add('DOWNONLYCURSOR','CUR',[
#0#0#2#0#1#0' '#0#0#0#0#0#0'0'#1#0#0#22#0#0#0'('#0#0#0' '#0#0#0'@'#0#0#0#1#0
+#1#0#0#0#0#0#0#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#1#128#0#0#2'@'#0#0#4' '#0#0#8#16#0#0#16#8#0#0' '#4#0
+#0''#254#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#128#0#0#2'@'#0#0#4' '#0#0#4' '#0#0#2
+'@'#0#0#1#128#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255
+#255#255#255#255#255#254''#255#255#252'?'#255#255#248#31#255#255#240#15#255
+#255#224#7#255#255#192#3#255#255#128#1#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#254''#255#255#252'?'#255#255#248#31#255#255#248#31#255
+#255#252'?'#255#255#254''#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255
]);
LazarusResources.Add('UPDOWNCURSOR','CUR',[
#0#0#2#0#1#0' '#0#0#0#0#0#0'0'#1#0#0#22#0#0#0'('#0#0#0' '#0#0#0'@'#0#0#0#1#0
+#1#0#0#0#0#0#0#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#1#128#0#0#2'@'#0#0#4' '#0#0#8#16#0#0#16#8#0#0' '#4#0
+#0''#254#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#128#0#0#2'@'#0#0#4' '#0#0#4' '#0#0#2
+'@'#0#0#1#128#0#0#0#0#0#0#0#0#0#0#0#0#0#0''#254#0#0' '#4#0#0#16#8#0#0#8#16#0
+#0#4' '#0#0#2'@'#0#0#1#128#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255
+#255#255#255#255#255#255#255#254''#255#255#252'?'#255#255#248#31#255#255#240
+#15#255#255#224#7#255#255#192#3#255#255#128#1#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#254''#255#255#252'?'#255#255#248#31#255#255#248#31
+#255#255#252'?'#255#255#254''#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#128#1#255#255#192#3#255#255#224#7#255#255#240#15#255#255#248#31
+#255#255#252'?'#255#255#254''#255#255#255#255#255#255#255#255#255#255#255
+#255#255
]);
LazarusResources.Add('UPONLYCURSOR','CUR',[
#0#0#2#0#1#0' '#0#0#0#0#0#0'0'#1#0#0#22#0#0#0'('#0#0#0' '#0#0#0'@'#0#0#0#1#0
+#1#0#0#0#0#0#0#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#128#0#0#2'@'#0#0#4' '#0#0#4' '#0#0#2'@'#0#0#1
+#128#0#0#0#0#0#0#0#0#0#0#0#0#0#0''#254#0#0' '#4#0#0#16#8#0#0#8#16#0#0#4' '#0
+#0#2'@'#0#0#1#128#0#0#1#0#0#0#0#0#0#0#0#0#0#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#254''#255#255#252'?'#255#255#248#31#255#255#248
+#31#255#255#252'?'#255#255#254''#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#128#1#255#255#192#3#255#255#224#7#255#255#240#15#255#255#248#31
+#255#255#252'?'#255#255#254''#255#255#254#255#255#255#255#255#255#255#255
+#255#255
]);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
\tools\xdev\lazres htmlun2.lrs ErrBitmap.bmp DefaultBitmap.bmp ErrBitmapMask.bmp Hand_Cursor.cur DOWNONLYCURSOR.cur UPDOWNCURSOR.cur UPONLYCURSOR.cur

View File

@ -0,0 +1 @@
\tools\xdev\lazres htmlcomp.lrs THTMLVIEWER.bmp TFRAMEVIEWER.bmp TFRAMEBROWSER.bmp

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More