You've already forked lazarus-ccr
Initial commit of kcontrols
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1732 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
BIN
components/kcontrols/help/KControls.chm
Executable file
BIN
components/kcontrols/help/KControls.chm
Executable file
Binary file not shown.
BIN
components/kcontrols/help/kgrid_manual.pdf
Executable file
BIN
components/kcontrols/help/kgrid_manual.pdf
Executable file
Binary file not shown.
43
components/kcontrols/kcontrols_readme.txt
Executable file
43
components/kcontrols/kcontrols_readme.txt
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
Software: KControls component suite for Delphi and Lazarus
|
||||||
|
Original authorship: Tomas Krysl (tk@tkweb.eu)
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
-------------------
|
||||||
|
License information for each source file can be found in it's header.
|
||||||
|
If there is none, the code is public domain.
|
||||||
|
|
||||||
|
|
||||||
|
SYSTEM REQUIREMENTS:
|
||||||
|
-------------------
|
||||||
|
- platforms: Win32(98(SE)+), Win64(untested), GTK, GTK2, QT, Carbon(untested), WinCE(partially tested)
|
||||||
|
- works under Delphi 7 and higher (tested on Delphi 7, Delphi2007 till Delphi 2010)
|
||||||
|
and Lazarus 0.9.29(SVN#21827) and higher
|
||||||
|
- should work under Delphi 6
|
||||||
|
- some more problems might be experienced for older Lazarus versions
|
||||||
|
- see other readme files for additional informations about individual components
|
||||||
|
|
||||||
|
|
||||||
|
INSTALLATION:
|
||||||
|
-------------------
|
||||||
|
1. Compile and install package (it might be needed to specify some search paths in Delphi).
|
||||||
|
2. When compiling an application or demo, it might be needed to specify the search path to KControls sources
|
||||||
|
or JCL sources (if JCL is configured via kcontrols.inc).
|
||||||
|
|
||||||
|
|
||||||
|
PLANNED:
|
||||||
|
-------------------
|
||||||
|
- TKMemo - native Unicode enabled controls with rich text editing capabilities
|
||||||
|
|
||||||
|
|
||||||
|
TECHNICAL SUPPORT:
|
||||||
|
-------------------
|
||||||
|
Any suggestions, error reports and questions about this software please send to
|
||||||
|
the author or discuss on http://www.tkweb.eu.
|
||||||
|
|
||||||
|
|
||||||
|
VERSION HISTORY:
|
||||||
|
-------------------
|
||||||
|
Version 1.0 (October 2009):
|
||||||
|
Initial release - based on KGrid 1.5, KHexEditor 1.4, KIcon 1.8
|
192
components/kcontrols/kgrid_readme.txt
Executable file
192
components/kcontrols/kgrid_readme.txt
Executable file
@ -0,0 +1,192 @@
|
|||||||
|
Software: KGrid component for Delphi and Lazarus
|
||||||
|
Original authorship: Tomas Krysl (tk@tkweb.eu)
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
-------------------
|
||||||
|
License information for each source file can be found in it's header.
|
||||||
|
If there is none, the code is public domain.
|
||||||
|
|
||||||
|
|
||||||
|
SYSTEM REQUIREMENTS:
|
||||||
|
-------------------
|
||||||
|
- platforms: Win32(98(SE)+), Win64(untested), GTK, GTK2, QT, Carbon(untested), WinCE(untested)
|
||||||
|
- works under Delphi 7 and higher (tested on Delphi 7, Delphi2007 till Delphi 2010)
|
||||||
|
and Lazarus 0.9.29(SVN#21827) and higher
|
||||||
|
- should work under Delphi 6
|
||||||
|
- some more problems might be experienced for older Lazarus versions
|
||||||
|
|
||||||
|
|
||||||
|
INSTALLATION:
|
||||||
|
-------------------
|
||||||
|
1. Compile and install package (it might be needed to specify some search paths in Delphi).
|
||||||
|
2. Put the TKGrid component into your application instead of TStringGrid or TDrawGrid.
|
||||||
|
3. When compiling an application, it might be needed to specify the search path to KGrid sources
|
||||||
|
or JCL sources (if JCL is configured).
|
||||||
|
|
||||||
|
PLANNED:
|
||||||
|
-------------------
|
||||||
|
- filters (still a TODO, partially can be implemented now via editable fixed rows)
|
||||||
|
- multiple disjunct selections (like Excel, still a TODO)
|
||||||
|
- tree columns
|
||||||
|
|
||||||
|
KNOWN PROBLEMS:
|
||||||
|
-------------------
|
||||||
|
Delphi common:
|
||||||
|
-none, best performance
|
||||||
|
|
||||||
|
Lazarus common:
|
||||||
|
-KDBGrid demo does not draw unicode fields correctly for certain databases.
|
||||||
|
applies for all data aware controls, not just TKDBgrid
|
||||||
|
must be FPC/TWideStringField bug
|
||||||
|
-printing/Previewing works correctly in Win32 and Qt (for Lazarus versions with my implementation
|
||||||
|
of affine transformations for device contexts). For GTKx printing via TPostScriptPrinterCanvas,
|
||||||
|
there is no way to effectively implement affine transformations because this canvas is not implemented
|
||||||
|
via a device context mechanism.
|
||||||
|
|
||||||
|
Target specific:
|
||||||
|
Win32:
|
||||||
|
Delphi:
|
||||||
|
-none
|
||||||
|
-tested on Windows 98SE (some time ago), Windows XP 32bit, Windows Vista 32bit
|
||||||
|
Lazarus:
|
||||||
|
-transparent editor underpainting incorrect if TKGrid is placed onto TPageControl (LCL problem)
|
||||||
|
-tested on Windows XP 32bit
|
||||||
|
Win64: none
|
||||||
|
-untested, help appreciated!
|
||||||
|
WinCE:
|
||||||
|
-slow inplace editor performance (depending on device)
|
||||||
|
-tested partially, help appreciated!
|
||||||
|
GTK:
|
||||||
|
-bad check box painting, bad selected range color, drag window flickers, sometimes infinite painting,
|
||||||
|
sometimes clipping problems (all LCL/GTK problems)
|
||||||
|
-tested on Ubuntu Jaunty
|
||||||
|
GTK2:
|
||||||
|
-slightly slow inplace editor performance with huge grids (GTK2 problem)
|
||||||
|
-scrollbar arrows don't work correctly sometimes (GTK2 problem)
|
||||||
|
-tested on Ubuntu Jaunty
|
||||||
|
QT:
|
||||||
|
-slightly slow inplace editor performance with huge grids
|
||||||
|
-checkbox not transparent (cannot be solved)
|
||||||
|
-scrollbar arrows behave differently (cannot be solved)
|
||||||
|
-tested on QT4.5.2/Windows XP
|
||||||
|
Carbon:
|
||||||
|
-none
|
||||||
|
-untested, help appreciated!
|
||||||
|
|
||||||
|
|
||||||
|
TECHNICAL SUPPORT:
|
||||||
|
-------------------
|
||||||
|
Any suggestions, error reports and questions about this software please send to
|
||||||
|
the author or discuss on http://www.tkweb.eu.
|
||||||
|
|
||||||
|
|
||||||
|
CONTRIBUTORS:
|
||||||
|
-------------------
|
||||||
|
Gianluca Culot: idea for TKCustomGrid.OnChanged event
|
||||||
|
JR: some useful functions and ideas
|
||||||
|
aki: selectable fixed cells
|
||||||
|
|
||||||
|
|
||||||
|
VERSION HISTORY
|
||||||
|
-------------------
|
||||||
|
Version 1.7 (November 2010):
|
||||||
|
Added:
|
||||||
|
-Windows Vista/7 style selection,
|
||||||
|
-selectable and editable fixed cells (modified contibutions by aki)
|
||||||
|
-packages for Delphi XE
|
||||||
|
Modified:
|
||||||
|
-removed some obsolete methods, several bugfixes
|
||||||
|
|
||||||
|
Version 1.6 (October 2010):
|
||||||
|
Added:
|
||||||
|
-column/row/grid autosizing,
|
||||||
|
-automatic data type recognition and images in TKDBGrid,
|
||||||
|
-improvements in TKGridCellPainter (images, button shapes etc.),
|
||||||
|
-cell hints
|
||||||
|
-OnMouseDblClickCell event
|
||||||
|
-new features based on contributions by JR (OptionsEx property)
|
||||||
|
-PaintCell method
|
||||||
|
Modified:
|
||||||
|
-several bugfixes
|
||||||
|
|
||||||
|
Version 1.5 (October 2009):
|
||||||
|
Added:
|
||||||
|
-printing/previewing/on the fly previewing (TKPrintPreview, TKPrintPageSetup classes etc.),
|
||||||
|
in Lazarus works only for Win32(suppose Win64 too) widget set
|
||||||
|
-OnMouseClickCell and OnMouseLeaveCell, OnMouseClickCell events
|
||||||
|
Modified:
|
||||||
|
-painting and inplace editor performance for GTK2, QT yet slightly improved
|
||||||
|
|
||||||
|
Version 1.4 (October 2009):
|
||||||
|
Added:
|
||||||
|
-full Lazarus support (all official or beta state widget sets, tested on Win32/Win64, GTK, GTK2, QT)
|
||||||
|
-cell merging and splitting (CellSpan property & TKGridCell ColSpan and RowSpan properties)
|
||||||
|
-data aware control (TKDBGrid class)
|
||||||
|
-column/row individual maximum and minimum extent (TKGridAxisItem MinExtent & MaxExtent properties)
|
||||||
|
-smooth scrolling (ScrollModeHorz & ScrollModeVert properties)
|
||||||
|
-OnMouseEnterCell and OnMouseLeaveCell events
|
||||||
|
-KDBGrid demo for Delphi/Lazarus
|
||||||
|
Modified:
|
||||||
|
-HotFix 3.10: painting performance optimized for GTK2
|
||||||
|
-major modifications due to platform independency in Lazarus
|
||||||
|
-some generous functions moved from KGrids.pas to KGraphics.pas or KFunctions.pas
|
||||||
|
-(very) few incompatibilities with previous versions
|
||||||
|
-KGrid demo extended
|
||||||
|
-no more InnoSetup installation but generous zip package due to platform independency
|
||||||
|
-lower case introduced for unit names etc. due to platform independency
|
||||||
|
-documentation completed
|
||||||
|
|
||||||
|
Version 1.3 (August 2009):
|
||||||
|
Added:
|
||||||
|
-ported to Lazarus (Windows widgetset only)
|
||||||
|
-TKCustomGrid.ThroughClick property (clicking a cell will click the inplace editor as well)
|
||||||
|
-TKGridTextAttributes - text attributes (multiline text, end ellipsis, path ellipsis, word break)
|
||||||
|
-keyboard behavior extended
|
||||||
|
Modified:
|
||||||
|
-JCL not needed anymore (mainly because of the Lazarus support)
|
||||||
|
-inplace editor rendering
|
||||||
|
-documentation
|
||||||
|
|
||||||
|
Version 1.3 beta (July 2009):
|
||||||
|
Added:
|
||||||
|
-TKGridAxisItem.Visible property
|
||||||
|
-optional visual indication of hidden columns or rows
|
||||||
|
-goIndicateHiddenCells style in TKCustomGrid.Options
|
||||||
|
-goMouseCanHideCells style in TKCustomGrid.Options
|
||||||
|
-goHeaderAlignment style in TKCustomGrid.Options
|
||||||
|
-TKCustomGrid.SortStyle property
|
||||||
|
-TKCustomGrid.UpdateSortMode method
|
||||||
|
Modified:
|
||||||
|
-moving columns/rows via OnExchangeCols/OnExchangeRows (both normal and virtual mode)
|
||||||
|
-inplace editor rendering
|
||||||
|
-documentation
|
||||||
|
|
||||||
|
Version 1.2 (October 2008):
|
||||||
|
Added:
|
||||||
|
-OnChanged event handler
|
||||||
|
Modified:
|
||||||
|
-update to Delphi 2009
|
||||||
|
-painting of the themed header cells fixed
|
||||||
|
-painting of some inplace editors fixed (e.g. TRichEdit)
|
||||||
|
|
||||||
|
Version 1.1 (April 2008):
|
||||||
|
Added:
|
||||||
|
-sorting interface
|
||||||
|
-cell clipping and double buffering
|
||||||
|
-TKGridCellPainter class,
|
||||||
|
-improved compatibility with TStringGrid
|
||||||
|
-another small improvements and fixes
|
||||||
|
Modified:
|
||||||
|
-demo has been extended
|
||||||
|
-documentation
|
||||||
|
|
||||||
|
Version 1.0 (January 2008):
|
||||||
|
Added:
|
||||||
|
-index mapping
|
||||||
|
-small demo,
|
||||||
|
-documentation
|
||||||
|
-many other improvements and bug fixes
|
||||||
|
|
||||||
|
Version 0.9 (July 2007): Initial release
|
92
components/kcontrols/khexeditor_readme.txt
Executable file
92
components/kcontrols/khexeditor_readme.txt
Executable file
@ -0,0 +1,92 @@
|
|||||||
|
Software: KhexEditor component for Delphi and Lazarus
|
||||||
|
Original authorship: Tomas Krysl (tk@tkweb.eu)
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
-------------------
|
||||||
|
License information for each source file can be found in it's header.
|
||||||
|
If there is none, the code is public domain.
|
||||||
|
|
||||||
|
|
||||||
|
SYSTEM REQUIREMENTS:
|
||||||
|
-------------------
|
||||||
|
- platforms: Win32(98(SE)+), Win64(untested), GTK, GTK2, QT, Carbon(untested), WinCE(untested)
|
||||||
|
- works under Delphi 7 and higher (tested on Delphi 7, Delphi2007 till Delphi 2010)
|
||||||
|
and Lazarus 0.9.29(SVN#21827) and higher
|
||||||
|
- should work under Delphi 6
|
||||||
|
- some more problems might be experienced for older Lazarus versions
|
||||||
|
|
||||||
|
|
||||||
|
INSTALLATION:
|
||||||
|
-------------------
|
||||||
|
1. Compile and install package (it might be needed to specify some search paths in Delphi).
|
||||||
|
2. When compiling an application or demo, it might be needed to specify the search path to KHexEditor sources.
|
||||||
|
|
||||||
|
|
||||||
|
PLANNED:
|
||||||
|
-------------------
|
||||||
|
- improve performance for non-Win32 widget sets in Lazarus
|
||||||
|
- byte swaps (Little and Big Endian)
|
||||||
|
- considering: visual control of modified text
|
||||||
|
|
||||||
|
|
||||||
|
KNOWN PROBLEMS:
|
||||||
|
-------------------
|
||||||
|
Delphi common:
|
||||||
|
-none, best performance
|
||||||
|
|
||||||
|
Lazarus common:
|
||||||
|
-slow performance on non-Win32 widget sets
|
||||||
|
|
||||||
|
|
||||||
|
TECHNICAL SUPPORT:
|
||||||
|
-------------------
|
||||||
|
Any suggestions, error reports and questions about this software please send to
|
||||||
|
the author or discuss on http://www.tkweb.eu.
|
||||||
|
|
||||||
|
|
||||||
|
VERSION HISTORY:
|
||||||
|
-------------------
|
||||||
|
Version 1.5 (November 2010)
|
||||||
|
Added:
|
||||||
|
-Append method to append data at a position
|
||||||
|
Modified:
|
||||||
|
-packages for Delphi XE
|
||||||
|
|
||||||
|
Version 1.4 (October 2009)
|
||||||
|
Modified:
|
||||||
|
-printing and previewing to comply with kcontrols.pas
|
||||||
|
-update to Delphi 2010
|
||||||
|
-port to Lazarus
|
||||||
|
|
||||||
|
Version 1.3 (October 2008)
|
||||||
|
Modified:
|
||||||
|
-update to Delphi 2009
|
||||||
|
|
||||||
|
Version 1.22 (January 2008)
|
||||||
|
Modified:
|
||||||
|
-packages included for newer Delphi
|
||||||
|
|
||||||
|
Version 1.21 (June 2006)
|
||||||
|
Modified:
|
||||||
|
-bugs fixed when no printer installed
|
||||||
|
|
||||||
|
Version 1.2 (June 2006):
|
||||||
|
Added:
|
||||||
|
-runtime package
|
||||||
|
-UpdateCharMetrics method
|
||||||
|
-keyboard features into TKHexEditorPrintPreview
|
||||||
|
Modified:
|
||||||
|
-UpdateScrollRange modified to avoid
|
||||||
|
design-time exceptions in the IDE
|
||||||
|
-minor bugfixes
|
||||||
|
|
||||||
|
Version 1.1 (May 2006):
|
||||||
|
Added:
|
||||||
|
-print preview - new component (KHexEditorPreview.pas)
|
||||||
|
-PaintTo method to paint the outline to another canvas
|
||||||
|
Modified:
|
||||||
|
-little modifications
|
||||||
|
|
||||||
|
Version 1.0 (April 2006): Initial release
|
135
components/kcontrols/kicon_readme.txt
Executable file
135
components/kcontrols/kicon_readme.txt
Executable file
@ -0,0 +1,135 @@
|
|||||||
|
Software: TKIcon component for Delphi
|
||||||
|
Original authorship: Tomas Krysl (tk@tkweb.eu)
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
-------------------
|
||||||
|
License information for each source file can be found in it's header.
|
||||||
|
If there is none, the code is public domain.
|
||||||
|
|
||||||
|
|
||||||
|
SYSTEM REQUIREMENTS:
|
||||||
|
-------------------
|
||||||
|
- Microsoft Windows 98(SE)/ME/2000/XP/VI
|
||||||
|
- should work under Delphi 6 and higher (tested on Delphi 7, Delphi2007 and Delphi 2009) and Lazarus 0.9.26 and higher (Win32 only)
|
||||||
|
|
||||||
|
|
||||||
|
INSTALLATION:
|
||||||
|
-------------------
|
||||||
|
1. In your project or when compiling the demo, specify search path to
|
||||||
|
Source\KIcon.pas under Project/Options/Directories.
|
||||||
|
|
||||||
|
|
||||||
|
KNOWN PROBLEMS:
|
||||||
|
-------------------
|
||||||
|
CopyToBitmap does not work good in Delphi for 32 bpp images with alpha channel and in some versions of Lazarus.
|
||||||
|
Reason is errorneous TBitmap implementation.
|
||||||
|
|
||||||
|
I expect problems with the LoadFromAssoc... methods, although I�ve tested the methods heavily.
|
||||||
|
|
||||||
|
I have implemented these through the direct access to the registry, because other approach
|
||||||
|
(Shell) frustrated me.
|
||||||
|
|
||||||
|
|
||||||
|
PLANNED:
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
|
||||||
|
TECHNICAL SUPPORT:
|
||||||
|
-------------------
|
||||||
|
Any suggestions, error reports and questions about this software please send to
|
||||||
|
the author or discuss on http://www.tkweb.eu.
|
||||||
|
|
||||||
|
CONTRIBUTORS:
|
||||||
|
-------------------
|
||||||
|
Goran Despalatovic: fixed many bugs
|
||||||
|
|
||||||
|
|
||||||
|
VERSION HISTORY:
|
||||||
|
-------------------
|
||||||
|
Version 2.2 (November 2010)
|
||||||
|
Modified:
|
||||||
|
-compilation for KControls 1.2
|
||||||
|
|
||||||
|
Version 2.1 (April 2010):
|
||||||
|
Modified:
|
||||||
|
-CopyToAlphaBitmap fixed, BlendLine function fixed
|
||||||
|
Added:
|
||||||
|
-CopyToAlphaBitmap demo
|
||||||
|
|
||||||
|
Version 2.0 (November 2009):
|
||||||
|
Modified:
|
||||||
|
-CopyToBitmap to be suitable for Glyph properties
|
||||||
|
Added:
|
||||||
|
-bugfixes (made by me or Goran Despalatovic)
|
||||||
|
|
||||||
|
Version 1.9 (October 2009):
|
||||||
|
Added:
|
||||||
|
-minor fixes
|
||||||
|
|
||||||
|
Version 1.8 (August 2009):
|
||||||
|
Added:
|
||||||
|
-ported to Lazarus
|
||||||
|
-full PNG support (read, write, display) optional. Under Delphi PngImage control is needed up to Delphi 2007.
|
||||||
|
Modified:
|
||||||
|
-JCL not needed anymore (mainly because of the Lazarus support)
|
||||||
|
|
||||||
|
Version 1.7 (October 2008):
|
||||||
|
Added:
|
||||||
|
-TIconDrawStyle.idsAlphaChannel for displaying the alpha channel (32 bit icon images) as grayscale image
|
||||||
|
-PNG icon read/write support (contributed by maro)
|
||||||
|
Modified:
|
||||||
|
-update to Delphi 2009
|
||||||
|
|
||||||
|
Version 1.6 (July 2006):
|
||||||
|
Added:
|
||||||
|
-DisplayHorz property
|
||||||
|
-install package
|
||||||
|
-exe demo
|
||||||
|
Modified:
|
||||||
|
-fixed bug in LoadHandles method (color table copying)
|
||||||
|
-MaxWidth and MaxHeight property behavior
|
||||||
|
-documentation (put into source code for automated *.chm generation)
|
||||||
|
Deleted:
|
||||||
|
-TotalWidth property (had never significant meaning)
|
||||||
|
|
||||||
|
Version 1.5 (July 2005):
|
||||||
|
Added:
|
||||||
|
-support for static cursors
|
||||||
|
|
||||||
|
Version 1.41 (April 2005):
|
||||||
|
Modified:
|
||||||
|
-minor bugfixes (icon rendering, module loading)
|
||||||
|
|
||||||
|
Version 1.4 (April 2005):
|
||||||
|
Added:
|
||||||
|
-icon can be stretched when drawn from now
|
||||||
|
-IconDrawStyle property (normal, mask only and no mask rendering)
|
||||||
|
-MaskFromColor method
|
||||||
|
Modified:
|
||||||
|
-icon rendering bug under W9x fixed (MaskBlt function removed)
|
||||||
|
-exception handling
|
||||||
|
|
||||||
|
Version 1.3 (March 2005):
|
||||||
|
Added:
|
||||||
|
-icon image manipulation functions
|
||||||
|
-several LoadFrom... methods (loading from file associations, resource identification by ID)
|
||||||
|
Modified:
|
||||||
|
-minor bugfixes
|
||||||
|
|
||||||
|
Version 1.2 (March 2005)
|
||||||
|
Added:
|
||||||
|
-several LoadFrom... methods,
|
||||||
|
-documentation
|
||||||
|
Modified:
|
||||||
|
-bug in the Assign method fixed
|
||||||
|
|
||||||
|
Version 1.1 (February 2005):
|
||||||
|
Added:
|
||||||
|
-OverSizeWeight property
|
||||||
|
Modified:
|
||||||
|
-minor bugfixes
|
||||||
|
-fatal bugs in LoadFromResource fixed
|
||||||
|
|
||||||
|
Version 1.0 (February 2005): Initial release
|
285
components/kcontrols/source/kcontrols.inc
Executable file
285
components/kcontrols/source/kcontrols.inc
Executable file
@ -0,0 +1,285 @@
|
|||||||
|
{ This file contains compiler distinctions and conditional defines for all
|
||||||
|
source files in the KControls Development Suite. It has been created from
|
||||||
|
several similar resources available. }
|
||||||
|
|
||||||
|
{$IFNDEF KCONTROLS_INC}
|
||||||
|
{$DEFINE KCONTROLS_INC}
|
||||||
|
|
||||||
|
{ Default compiler directives for entire KControls Development Suite }
|
||||||
|
|
||||||
|
{$IFDEF FPC}
|
||||||
|
{$MODE DELPHI}
|
||||||
|
{$B-,H+,J+,Q-,R-,T-,X+}
|
||||||
|
{$ELSE}
|
||||||
|
{$B-,H+,J+,Q-,R-,T-,X+}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{ Specifies if native operating system theme support should be used (Themes.pas is needed) }
|
||||||
|
|
||||||
|
{$DEFINE USE_THEMES}
|
||||||
|
|
||||||
|
{ COMPILERx, DELPHIx and BCBx directives from VERx }
|
||||||
|
|
||||||
|
{$IFDEF VER220}
|
||||||
|
{$DEFINE COMPILER14}
|
||||||
|
{$IFDEF BCB}
|
||||||
|
{$DEFINE BCBXE}
|
||||||
|
{$ELSE}
|
||||||
|
{$DEFINE DELPHIXE}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER210}
|
||||||
|
{$DEFINE COMPILER13}
|
||||||
|
{$IFDEF BCB}
|
||||||
|
{$DEFINE BCB2010}
|
||||||
|
{$ELSE}
|
||||||
|
{$DEFINE DELPHI2010}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER200}
|
||||||
|
{$DEFINE COMPILER12}
|
||||||
|
{$IFDEF BCB}
|
||||||
|
{$DEFINE BCB2009}
|
||||||
|
{$ELSE}
|
||||||
|
{$DEFINE DELPHI2009}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER180}
|
||||||
|
{$IFDEF VER185}
|
||||||
|
{$DEFINE COMPILER11}
|
||||||
|
{$IFDEF BCB}
|
||||||
|
{$DEFINE BCB2007}
|
||||||
|
{$ELSE}
|
||||||
|
{$DEFINE DELPHI2007}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ELSE}
|
||||||
|
{$DEFINE COMPILER10}
|
||||||
|
{$IFDEF BCB}
|
||||||
|
{$DEFINE BCB2006}
|
||||||
|
{$ELSE}
|
||||||
|
{$DEFINE DELPHI2006}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER170}
|
||||||
|
{$DEFINE COMPILER9}
|
||||||
|
{$DEFINE DELPHI2005}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER160}
|
||||||
|
{$DEFINE COMPILER8}
|
||||||
|
{$DEFINE DELPHI8}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER150}
|
||||||
|
{$DEFINE COMPILER7}
|
||||||
|
{$DEFINE DELPHI7}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER140}
|
||||||
|
{$DEFINE COMPILER6}
|
||||||
|
{$IFDEF BCB}
|
||||||
|
{$DEFINE BCB6}
|
||||||
|
{$ELSE}
|
||||||
|
{$DEFINE DELPHI6}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER130}
|
||||||
|
{$DEFINE COMPILER5}
|
||||||
|
{$IFDEF BCB}
|
||||||
|
{$DEFINE BCB5}
|
||||||
|
{$ELSE}
|
||||||
|
{$DEFINE DELPHI5}
|
||||||
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER125}
|
||||||
|
{$DEFINE COMPILER4}
|
||||||
|
{$DEFINE BCB}
|
||||||
|
{$DEFINE BCB4}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER120}
|
||||||
|
{$DEFINE COMPILER4}
|
||||||
|
{$DEFINE DELPHI4}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER110}
|
||||||
|
{$DEFINE COMPILER3}
|
||||||
|
{$DEFINE BCB}
|
||||||
|
{$DEFINE BCB3}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER100}
|
||||||
|
{$DEFINE COMPILER3}
|
||||||
|
{$DEFINE DELPHI3}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER93}
|
||||||
|
{$DEFINE COMPILER2}
|
||||||
|
{$DEFINE BCB}
|
||||||
|
{$DEFINE BCB1}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER90}
|
||||||
|
{$DEFINE COMPILER2}
|
||||||
|
{$DEFINE DELPHI2}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{ What is used: DELPHI or BCB ? (BCB is defined by C++Builder 5 and later) }
|
||||||
|
|
||||||
|
{$IFNDEF BCB}
|
||||||
|
{$DEFINE DELPHI}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{ COMPILERx_UP directives from COMPILERx }
|
||||||
|
|
||||||
|
{$IFDEF COMPILER14} {$DEFINE COMPILER14_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER13} {$DEFINE COMPILER13_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER12} {$DEFINE COMPILER12_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER11} {$DEFINE COMPILER11_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER10} {$DEFINE COMPILER10_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER9} {$DEFINE COMPILER9_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER8} {$DEFINE COMPILER8_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER7} {$DEFINE COMPILER7_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER6} {$DEFINE COMPILER6_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER5} {$DEFINE COMPILER5_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER4} {$DEFINE COMPILER4_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER3} {$DEFINE COMPILER3_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER2} {$DEFINE COMPILER2_UP} {$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF COMPILER14_UP} {$DEFINE COMPILER13_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER13_UP} {$DEFINE COMPILER12_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER12_UP} {$DEFINE COMPILER11_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER11_UP} {$DEFINE COMPILER10_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER10_UP} {$DEFINE COMPILER9_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER9_UP} {$DEFINE COMPILER8_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER8_UP} {$DEFINE COMPILER7_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER7_UP} {$DEFINE COMPILER6_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER6_UP} {$DEFINE COMPILER5_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER5_UP} {$DEFINE COMPILER4_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER4_UP} {$DEFINE COMPILER3_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER3_UP} {$DEFINE COMPILER2_UP} {$ENDIF}
|
||||||
|
{$IFDEF COMPILER2_UP} {$DEFINE COMPILER1_UP} {$ENDIF}
|
||||||
|
|
||||||
|
{ DELPHIx_UP directives from DELPHIx }
|
||||||
|
|
||||||
|
{$IFDEF DELPHIXE} {$DEFINE DELPHIXE_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2010} {$DEFINE DELPHI2010_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2009} {$DEFINE DELPHI2009_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2007} {$DEFINE DELPHI2007_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2006} {$DEFINE DELPHI2006_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2005} {$DEFINE DELPHI2005_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI8} {$DEFINE DELPHI8_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI7} {$DEFINE DELPHI7_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI6} {$DEFINE DELPHI6_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI5} {$DEFINE DELPHI5_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI4} {$DEFINE DELPHI4_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI3} {$DEFINE DELPHI3_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2} {$DEFINE DELPHI2_UP} {$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF DELPHIXE_UP} {$DEFINE DELPHI2010_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2010_UP} {$DEFINE DELPHI2009_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2009_UP} {$DEFINE DELPHI2007_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2007_UP} {$DEFINE DELPHI2006_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2006_UP} {$DEFINE DELPHI2005_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2005_UP} {$DEFINE DELPHI8_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI8_UP} {$DEFINE DELPHI7_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI7_UP} {$DEFINE DELPHI6_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI6_UP} {$DEFINE DELPHI5_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI5_UP} {$DEFINE DELPHI4_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI4_UP} {$DEFINE DELPHI3_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI3_UP} {$DEFINE DELPHI2_UP} {$ENDIF}
|
||||||
|
{$IFDEF DELPHI2_UP} {$DEFINE DELPHI1_UP} {$ENDIF}
|
||||||
|
|
||||||
|
{ BCBx_UP directives from BCBx }
|
||||||
|
|
||||||
|
{$IFDEF BCBXE} {$DEFINE BCBXE_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB2010} {$DEFINE BCB2010_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB2009} {$DEFINE BCB2009_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB2007} {$DEFINE BCB2007_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB2006} {$DEFINE BCB2006_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB6} {$DEFINE BCB6_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB5} {$DEFINE BCB5_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB4} {$DEFINE BCB4_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB3} {$DEFINE BCB3_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB1} {$DEFINE BCB1_UP} {$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF BCBXE_UP} {$DEFINE BCB2010_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB2010_UP} {$DEFINE BCB2009_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB2009_UP} {$DEFINE BCB2007_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB2007_UP} {$DEFINE BCB2006_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB2006_UP} {$DEFINE BCB6_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB6_UP} {$DEFINE BCB5_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB5_UP} {$DEFINE BCB4_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB4_UP} {$DEFINE BCB3_UP} {$ENDIF}
|
||||||
|
{$IFDEF BCB3_UP} {$DEFINE BCB1_UP} {$ENDIF}
|
||||||
|
|
||||||
|
{ Unicode compiler directive for string type }
|
||||||
|
// Delphi 2009+ uses UTF16, Lazarus 0.9.25+ uses UTF8
|
||||||
|
{$IF DEFINED(COMPILER12_UP) OR DEFINED(FPC)}
|
||||||
|
{$DEFINE STRING_IS_UNICODE}
|
||||||
|
{$IFEND}
|
||||||
|
|
||||||
|
{ Prefers usage of TCanvas methods instead of WinAPI mainly to avoid Lazarus bugs. }
|
||||||
|
{$DEFINE USE_CANVAS_METHODS}
|
||||||
|
|
||||||
|
{ Allows to use WinAPI functions in Lazarus and Delphi }
|
||||||
|
{$IF NOT DEFINED(FPC) OR DEFINED(LCLWin32)}
|
||||||
|
{$DEFINE USE_WINAPI}
|
||||||
|
{$IFEND}
|
||||||
|
|
||||||
|
{ Allows to use WideWinProcs unit }
|
||||||
|
{$IFDEF USE_WINAPI}
|
||||||
|
{.$DEFINE USE_WIDEWINPROCS}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$DEFINE LAZARUS_HAS_DC_MAPPING}
|
||||||
|
|
||||||
|
{$IF DEFINED(USE_WINAPI) OR DEFINED(LAZARUS_HAS_DC_MAPPING)}
|
||||||
|
{$DEFINE USE_DC_MAPPING}
|
||||||
|
{$IFEND}
|
||||||
|
|
||||||
|
{ Conditional defines for unit KGrids: }
|
||||||
|
// we want TKGridObjectCell to be a descendant of TKGridAttrTextCell
|
||||||
|
{$DEFINE TKGRIDOBJECTCELL_IS_TKGRIDATTRTEXTCELL}
|
||||||
|
|
||||||
|
// we want TKGridObjectCell to be a descendant of TKGridTextCell
|
||||||
|
{.$DEFINE TKGRIDOBJECTCELL_IS_TKGRIDTEXTCELL}
|
||||||
|
|
||||||
|
// use JCLUnicode (only for TKGridAxisItem.Assign(Source: TWideStrings);)
|
||||||
|
{.$DEFINE TKGRID_USE_JCL}
|
||||||
|
|
||||||
|
|
||||||
|
{ Conditional defines for unit KDBGrids: }
|
||||||
|
// we want to use TKDBGrid
|
||||||
|
{$DEFINE TKDBGRID_USE}
|
||||||
|
|
||||||
|
// we want TKDBGridCell to be a descendant of TKGridAttrTextCell
|
||||||
|
{.$DEFINE TKDBGRIDCELL_IS_TKGRIDATTRTEXTCELL}
|
||||||
|
|
||||||
|
{ Conditional defines for unit KIcon: }
|
||||||
|
// register TKICON within TPicture automatically
|
||||||
|
{.$DEFINE TKICON_REGISTER}
|
||||||
|
|
||||||
|
// PngImage can be used
|
||||||
|
{$IF DEFINED(FPC) OR DEFINED(COMPILER12_UP)}
|
||||||
|
{$DEFINE USE_PNG_SUPPORT}
|
||||||
|
{$IFEND}
|
||||||
|
|
||||||
|
{$DEFINE DEFAULT_LANGUAGE_EN} // default language is english
|
||||||
|
{.$DEFINE DEFAULT_LANGUAGE_CZ} // default language is czech
|
||||||
|
|
||||||
|
{.$DEFINE DEFAULT_LANGUAGE_DE} // default language is german
|
||||||
|
|
||||||
|
{.$DEFINE DEFAULT_LANGUAGE_RU} // default language is russian
|
||||||
|
|
||||||
|
|
||||||
|
{$ENDIF ~KCONTROLS_INC}
|
||||||
|
|
||||||
|
|
30
components/kcontrols/source/kcontrols.lrs
Executable file
30
components/kcontrols/source/kcontrols.lrs
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
LazarusResources.Add('kpreview_cursor_hand_free','CUR',[
|
||||||
|
#0#0#2#0#1#0' '#0#0#15#0#15#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#128#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#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#3#240#0
|
||||||
|
+#0#3#240#0#0#7#240#0#0#15#248#0#0#31#248#0#0#31#252#0#0'?'#252#0#0'w'#252#0#0
|
||||||
|
+'g'#254#0#0#7#246#0#0#13#182#0#0#13#178#0#0#25#176#0#0#25#176#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#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#248#7#255#255#248#7#255#255
|
||||||
|
+#240#7#255#255#224#3#255#255#192#3#255#255#192#1#255#255#128#1#255#255#0#1
|
||||||
|
+#255#255#0#0#255#255#144#0#255#255#224#0#255#255#224#0#255#255#192#5#255#255
|
||||||
|
+#192#7#255#255#228#15#255#255#254#127#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('kpreview_cursor_hand_grip','CUR',[
|
||||||
|
#0#0#2#0#1#0' '#0#0#15#0#15#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#128#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#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#7#224#0#0#7#224#0#0#15#224#0#0#31#240#0#0'?'#240#0#0'?'#248
|
||||||
|
+#0#0#15#248#0#0#15#248#0#0#31#232#0#0#27'`'#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#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#240#15#255#255#240#15#255#255#224#15#255#255#192#7#255#255#128#7#255
|
||||||
|
+#255#128#3#255#255#192#3#255#255#224#3#255#255#192#3#255#255#192#7#255#255
|
||||||
|
+#228#159#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
|
||||||
|
]);
|
2825
components/kcontrols/source/kcontrols.pas
Executable file
2825
components/kcontrols/source/kcontrols.pas
Executable file
File diff suppressed because it is too large
Load Diff
BIN
components/kcontrols/source/kcontrols.res
Executable file
BIN
components/kcontrols/source/kcontrols.res
Executable file
Binary file not shown.
130
components/kcontrols/source/kcontrolslaz.lpk
Executable file
130
components/kcontrols/source/kcontrolslaz.lpk
Executable file
@ -0,0 +1,130 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<CONFIG>
|
||||||
|
<Package Version="3">
|
||||||
|
<PathDelim Value="\"/>
|
||||||
|
<Name Value="KControlsLaz"/>
|
||||||
|
<CompilerOptions>
|
||||||
|
<Version Value="8"/>
|
||||||
|
<PathDelim Value="\"/>
|
||||||
|
<SearchPaths>
|
||||||
|
<IncludeFiles Value=""/>
|
||||||
|
<OtherUnitFiles Value=""/>
|
||||||
|
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||||
|
</SearchPaths>
|
||||||
|
<Other>
|
||||||
|
<Verbosity>
|
||||||
|
<ShowHints Value="False"/>
|
||||||
|
</Verbosity>
|
||||||
|
<CompilerPath Value="$(CompPath)"/>
|
||||||
|
</Other>
|
||||||
|
</CompilerOptions>
|
||||||
|
<Version Major="1" Minor="2"/>
|
||||||
|
<Files Count="21">
|
||||||
|
<Item1>
|
||||||
|
<Filename Value="kfunctions.pas"/>
|
||||||
|
<UnitName Value="KFunctions"/>
|
||||||
|
</Item1>
|
||||||
|
<Item2>
|
||||||
|
<Filename Value="kgraphics.pas"/>
|
||||||
|
<UnitName Value="KGraphics"/>
|
||||||
|
</Item2>
|
||||||
|
<Item3>
|
||||||
|
<Filename Value="kcontrols.lrs"/>
|
||||||
|
<Type Value="LRS"/>
|
||||||
|
</Item3>
|
||||||
|
<Item4>
|
||||||
|
<Filename Value="kcontrols.pas"/>
|
||||||
|
<UnitName Value="KControls"/>
|
||||||
|
</Item4>
|
||||||
|
<Item5>
|
||||||
|
<Filename Value="kdialogs.pas"/>
|
||||||
|
<UnitName Value="KDialogs"/>
|
||||||
|
</Item5>
|
||||||
|
<Item6>
|
||||||
|
<Filename Value="keditcommon.pas"/>
|
||||||
|
<UnitName Value="KEditCommon"/>
|
||||||
|
</Item6>
|
||||||
|
<Item7>
|
||||||
|
<Filename Value="kgrids.lrs"/>
|
||||||
|
<Type Value="LRS"/>
|
||||||
|
</Item7>
|
||||||
|
<Item8>
|
||||||
|
<Filename Value="kgrids.pas"/>
|
||||||
|
<UnitName Value="KGrids"/>
|
||||||
|
</Item8>
|
||||||
|
<Item9>
|
||||||
|
<Filename Value="khexeditor.pas"/>
|
||||||
|
<UnitName Value="KHexEditor"/>
|
||||||
|
</Item9>
|
||||||
|
<Item10>
|
||||||
|
<Filename Value="kicon.pas"/>
|
||||||
|
<UnitName Value="KIcon"/>
|
||||||
|
</Item10>
|
||||||
|
<Item11>
|
||||||
|
<Filename Value="kprintpreview.lfm"/>
|
||||||
|
<Type Value="LFM"/>
|
||||||
|
</Item11>
|
||||||
|
<Item12>
|
||||||
|
<Filename Value="kprintpreview.lrs"/>
|
||||||
|
<Type Value="LRS"/>
|
||||||
|
</Item12>
|
||||||
|
<Item13>
|
||||||
|
<Filename Value="kprintpreview.pas"/>
|
||||||
|
<UnitName Value="KPrintPreview"/>
|
||||||
|
</Item13>
|
||||||
|
<Item14>
|
||||||
|
<Filename Value="kprintsetup.lfm"/>
|
||||||
|
<Type Value="LFM"/>
|
||||||
|
</Item14>
|
||||||
|
<Item15>
|
||||||
|
<Filename Value="kprintsetup.lrs"/>
|
||||||
|
<Type Value="LRS"/>
|
||||||
|
</Item15>
|
||||||
|
<Item16>
|
||||||
|
<Filename Value="kprintsetup.pas"/>
|
||||||
|
<UnitName Value="KPrintSetup"/>
|
||||||
|
</Item16>
|
||||||
|
<Item17>
|
||||||
|
<Filename Value="kwidewinprocs.pas"/>
|
||||||
|
<UnitName Value="KWideWinProcs"/>
|
||||||
|
</Item17>
|
||||||
|
<Item18>
|
||||||
|
<Filename Value="kcontrolsdesign.lrs"/>
|
||||||
|
<Type Value="LRS"/>
|
||||||
|
</Item18>
|
||||||
|
<Item19>
|
||||||
|
<Filename Value="kcontrolsdesign.pas"/>
|
||||||
|
<HasRegisterProc Value="True"/>
|
||||||
|
<UnitName Value="kcontrolsdesign"/>
|
||||||
|
</Item19>
|
||||||
|
<Item20>
|
||||||
|
<Filename Value="kdbgrids.pas"/>
|
||||||
|
<UnitName Value="KDBGrids"/>
|
||||||
|
</Item20>
|
||||||
|
<Item21>
|
||||||
|
<Filename Value="kcontrols.inc"/>
|
||||||
|
<Type Value="Include"/>
|
||||||
|
</Item21>
|
||||||
|
</Files>
|
||||||
|
<Type Value="RunAndDesignTime"/>
|
||||||
|
<RequiredPkgs Count="3">
|
||||||
|
<Item1>
|
||||||
|
<PackageName Value="Printer4Lazarus"/>
|
||||||
|
</Item1>
|
||||||
|
<Item2>
|
||||||
|
<PackageName Value="DBFLaz"/>
|
||||||
|
</Item2>
|
||||||
|
<Item3>
|
||||||
|
<PackageName Value="LCL"/>
|
||||||
|
<MinVersion Major="1" Valid="True"/>
|
||||||
|
</Item3>
|
||||||
|
</RequiredPkgs>
|
||||||
|
<UsageOptions>
|
||||||
|
<UnitPath Value="$(PkgOutDir)\"/>
|
||||||
|
</UsageOptions>
|
||||||
|
<PublishOptions>
|
||||||
|
<Version Value="2"/>
|
||||||
|
<IgnoreBinaries Value="False"/>
|
||||||
|
</PublishOptions>
|
||||||
|
</Package>
|
||||||
|
</CONFIG>
|
1495
components/kcontrols/source/kdbgrids.pas
Executable file
1495
components/kcontrols/source/kdbgrids.pas
Executable file
File diff suppressed because it is too large
Load Diff
131
components/kcontrols/source/kdialogs.pas
Executable file
131
components/kcontrols/source/kdialogs.pas
Executable file
@ -0,0 +1,131 @@
|
|||||||
|
{ @abstract(This unit contains all dialogs supplied with KControls.)
|
||||||
|
@author(Tomas Krysl (tk@tkweb.eu))
|
||||||
|
@created(18 Sep 2009)
|
||||||
|
@lastmod(14 Oct 2009)
|
||||||
|
|
||||||
|
This unit implements all dialogs supplied with KControls Development Suite.
|
||||||
|
|
||||||
|
Copyright � 2009 Tomas Krysl (tk@@tkweb.eu)<BR><BR>
|
||||||
|
|
||||||
|
<B>License:</B><BR>
|
||||||
|
This code is distributed as a freeware. You are free to use it as part
|
||||||
|
of your application for any purpose including freeware, commercial and
|
||||||
|
shareware applications. The origin of this source code must not be
|
||||||
|
misrepresented; you must not claim your authorship. You may modify this code
|
||||||
|
solely for your own purpose. Please feel free to contact the author if you
|
||||||
|
think your changes might be useful for other users. You may distribute only
|
||||||
|
the original package. The author accepts no liability for any damage
|
||||||
|
that may result from using this code. }
|
||||||
|
|
||||||
|
unit KDialogs;
|
||||||
|
|
||||||
|
{$include kcontrols.inc}
|
||||||
|
{$WEAKPACKAGEUNIT ON}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, Controls, Forms, KControls, KPrintPreview, KPrintSetup;
|
||||||
|
|
||||||
|
type
|
||||||
|
{ @abstract(Encapsulates the print preview dialog) }
|
||||||
|
TKPrintPreviewDialog = class(TComponent)
|
||||||
|
private
|
||||||
|
FControl: TKCustomControl;
|
||||||
|
FPrintPreviewForm: TKPrintPreviewForm;
|
||||||
|
function GetPrintPreviewForm: TKPrintPreviewForm;
|
||||||
|
public
|
||||||
|
{ Creates the instance. Assigns default values to properties. }
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
{ Shows the dialog. }
|
||||||
|
procedure Show;
|
||||||
|
{ Shows the dialog as modal dialog. }
|
||||||
|
function Execute: Boolean;
|
||||||
|
{ Specifies the associated preview form. }
|
||||||
|
property PrintPreviewForm: TKPrintPreviewForm read GetPrintPreviewForm;
|
||||||
|
published
|
||||||
|
{ Specifies the associated control. }
|
||||||
|
property Control: TKCustomControl read FControl write FControl;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ @abstract(Encapsulates the print preview dialog) }
|
||||||
|
TKPrintSetupDialog = class(TComponent)
|
||||||
|
private
|
||||||
|
FControl: TKCustomControl;
|
||||||
|
FPrintSetupForm: TKPrintSetupForm;
|
||||||
|
FPreviewDialog: TKPrintPreviewDialog;
|
||||||
|
FSelAvail: Boolean;
|
||||||
|
public
|
||||||
|
{ Creates the instance. Assigns default values to properties. }
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
{ Shows the dialog as modal dialog. }
|
||||||
|
function Execute: Boolean;
|
||||||
|
published
|
||||||
|
{ Specifies the associated control. }
|
||||||
|
property Control: TKCustomControl read FControl write FControl;
|
||||||
|
{ Specifies the preview dialog for the Preview... button.
|
||||||
|
If not specified, the print setup dialog creates a new one. }
|
||||||
|
property PreviewDialog: TKPrintPreviewDialog read FPreviewDialog write FPreviewDialog;
|
||||||
|
{ If True, the Selection Only option will be checked (if selection is available
|
||||||
|
for the control). }
|
||||||
|
property SelAvail: Boolean read FSelAvail write FSelAvail default True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ TKPrintPreviewDialog }
|
||||||
|
|
||||||
|
constructor TKPrintPreviewDialog.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPrintPreviewForm := nil;
|
||||||
|
FControl := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TKPrintPreviewDialog.Execute;
|
||||||
|
begin
|
||||||
|
PrintPreviewForm.Preview.Control := FControl;
|
||||||
|
PrintPreviewForm.ShowModal;
|
||||||
|
Result := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TKPrintPreviewDialog.GetPrintPreviewForm: TKPrintPreviewForm;
|
||||||
|
begin
|
||||||
|
if not Assigned(FPrintPreviewForm) then
|
||||||
|
FPrintPreviewForm := TKPrintPreviewForm.Create(Self);
|
||||||
|
Result := FPrintPreviewForm;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewDialog.Show;
|
||||||
|
begin
|
||||||
|
PrintPreviewForm.Preview.Control := FControl;
|
||||||
|
PrintPreviewForm.Show;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TKPrintSetupDialog }
|
||||||
|
|
||||||
|
constructor TKPrintSetupDialog.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FControl := nil;
|
||||||
|
FPrintSetupForm := nil;
|
||||||
|
FPreviewDialog := nil;
|
||||||
|
FSelAvail := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TKPrintSetupDialog.Execute: Boolean;
|
||||||
|
begin
|
||||||
|
if Assigned(FControl) then
|
||||||
|
begin
|
||||||
|
if not Assigned(FPrintSetupForm) then
|
||||||
|
FPrintSetupForm := TKPrintSetupForm.Create(Self);
|
||||||
|
FPrintSetupForm.PageSetup := FControl.PageSetup;
|
||||||
|
if Assigned(FPreviewDialog) then
|
||||||
|
FPrintSetupForm.PreviewForm := FPreviewDialog.PrintPreviewForm;
|
||||||
|
FPrintSetupForm.SelAvail := FSelAvail;
|
||||||
|
Result := FPrintSetupForm.ShowModal = mrOk;
|
||||||
|
end else
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
413
components/kcontrols/source/keditcommon.pas
Executable file
413
components/kcontrols/source/keditcommon.pas
Executable file
@ -0,0 +1,413 @@
|
|||||||
|
{ @abstract(This unit contains the common declarations for all edit controls.)
|
||||||
|
@author(Tomas Krysl (tk@tkweb.eu))
|
||||||
|
@created(18 Sep 2009)
|
||||||
|
@lastmod(20 Jun 2010)
|
||||||
|
|
||||||
|
This unit defines common types and functions for all edit controls.
|
||||||
|
|
||||||
|
Copyright � 2009 Tomas Krysl (tk@@tkweb.eu)<BR><BR>
|
||||||
|
|
||||||
|
<B>License:</B><BR>
|
||||||
|
This code is distributed as a freeware. You are free to use it as part
|
||||||
|
of your application for any purpose including freeware, commercial and
|
||||||
|
shareware applications. The origin of this source code must not be
|
||||||
|
misrepresented; you must not claim your authorship. You may modify this code
|
||||||
|
solely for your own purpose. Please feel free to contact the author if you
|
||||||
|
think your changes might be useful for other users. You may distribute only
|
||||||
|
the original package. The author accepts no liability for any damage
|
||||||
|
that may result from using this code. }
|
||||||
|
|
||||||
|
unit KEditCommon;
|
||||||
|
|
||||||
|
{$include kcontrols.inc}
|
||||||
|
{$WEAKPACKAGEUNIT ON}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
{$IFDEF FPC}
|
||||||
|
LCLType, LCLIntf, LCLProc, LResources,
|
||||||
|
{$ELSE}
|
||||||
|
Windows, Messages,
|
||||||
|
{$ENDIF}
|
||||||
|
SysUtils, Classes, Graphics, Controls, Forms;
|
||||||
|
|
||||||
|
type
|
||||||
|
{ Declares possible values for the edit control commands. }
|
||||||
|
TKEditCommand = (
|
||||||
|
{ Move caret left one char }
|
||||||
|
ecLeft,
|
||||||
|
{ Move caret right one char }
|
||||||
|
ecRight,
|
||||||
|
{ Move caret up one line }
|
||||||
|
ecUp,
|
||||||
|
{ Move caret down one line }
|
||||||
|
ecDown,
|
||||||
|
{ Move caret to beginning of line }
|
||||||
|
ecLineStart,
|
||||||
|
{ Move caret to end of line }
|
||||||
|
ecLineEnd,
|
||||||
|
{ Move caret up one page }
|
||||||
|
ecPageUp,
|
||||||
|
{ Move caret down one page }
|
||||||
|
ecPageDown,
|
||||||
|
{ Move caret left one page }
|
||||||
|
ecPageLeft,
|
||||||
|
{ Move caret right one page }
|
||||||
|
ecPageRight,
|
||||||
|
{ Move caret to top of page }
|
||||||
|
ecPageTop,
|
||||||
|
{ Move caret to bottom of page }
|
||||||
|
ecPageBottom,
|
||||||
|
{ Move caret to absolute beginning }
|
||||||
|
ecEditorTop,
|
||||||
|
{ Move caret to absolute end }
|
||||||
|
ecEditorBottom,
|
||||||
|
{ Move caret to specific coordinates, Data = ^TPoint }
|
||||||
|
ecGotoXY,
|
||||||
|
{ Move caret left one char }
|
||||||
|
ecSelLeft,
|
||||||
|
{ Move caret right one char, affecting selection }
|
||||||
|
ecSelRight,
|
||||||
|
{ Move caret up one line, affecting selection }
|
||||||
|
ecSelUp,
|
||||||
|
{ Move caret down one line, affecting selection }
|
||||||
|
ecSelDown,
|
||||||
|
{ Move caret to beginning of line, affecting selection }
|
||||||
|
ecSelLineStart,
|
||||||
|
{ Move caret to end of line, affecting selection }
|
||||||
|
ecSelLineEnd,
|
||||||
|
{ Move caret up one page, affecting selection }
|
||||||
|
ecSelPageUp,
|
||||||
|
{ Move caret down one page, affecting selection }
|
||||||
|
ecSelPageDown,
|
||||||
|
{ Move caret left one page, affecting selection }
|
||||||
|
ecSelPageLeft,
|
||||||
|
{ Move caret right one page, affecting selection }
|
||||||
|
ecSelPageRight,
|
||||||
|
{ Move caret to top of page, affecting selection }
|
||||||
|
ecSelPageTop,
|
||||||
|
{ Move caret to bottom of page, affecting selection }
|
||||||
|
ecSelPageBottom,
|
||||||
|
{ Move caret to absolute beginning, affecting selection }
|
||||||
|
ecSelEditorTop,
|
||||||
|
{ Move caret to absolute end, affecting selection }
|
||||||
|
ecSelEditorBottom,
|
||||||
|
{ Move caret to specific coordinates, affecting selection, Data = ^TPoint }
|
||||||
|
ecSelGotoXY,
|
||||||
|
{ Scroll up one line leaving caret position unchanged }
|
||||||
|
ecScrollUp,
|
||||||
|
{ Scroll down one line leaving caret position unchanged }
|
||||||
|
ecScrollDown,
|
||||||
|
{ Scroll left one char leaving caret position unchanged }
|
||||||
|
ecScrollLeft,
|
||||||
|
{ Scroll right one char leaving caret position unchanged }
|
||||||
|
ecScrollRight,
|
||||||
|
{ Scroll to center the caret position within client area }
|
||||||
|
ecScrollCenter,
|
||||||
|
{ Undo previous action }
|
||||||
|
ecUndo,
|
||||||
|
{ Redo last undone action }
|
||||||
|
ecRedo,
|
||||||
|
{ Copy selection to clipboard }
|
||||||
|
ecCopy,
|
||||||
|
{ Cut selection to clipboard }
|
||||||
|
ecCut,
|
||||||
|
{ Paste clipboard to current position }
|
||||||
|
ecPaste,
|
||||||
|
{ Insert character at current position, Data = ^Char }
|
||||||
|
ecInsertChar,
|
||||||
|
{ Insert digits (digit string) at current position, Data = ^string
|
||||||
|
(must contain digits only), TKCustomHexEditor only }
|
||||||
|
ecInsertDigits,
|
||||||
|
{ Insert string (multiple characters) at current position, Data = ^string }
|
||||||
|
ecInsertString,
|
||||||
|
{ Delete last character (i.e. backspace key) }
|
||||||
|
ecDeleteLastChar,
|
||||||
|
{ Delete character at caret (i.e. delete key) }
|
||||||
|
ecDeleteChar,
|
||||||
|
{ Delete from caret to beginning of line }
|
||||||
|
ecDeleteBOL,
|
||||||
|
{ Delete from caret to end of line }
|
||||||
|
ecDeleteEOL,
|
||||||
|
{ Delete current line }
|
||||||
|
ecDeleteLine,
|
||||||
|
{ Select everything }
|
||||||
|
ecSelectAll,
|
||||||
|
{ Delete everything }
|
||||||
|
ecClearAll,
|
||||||
|
{ Delete selection (no digit selection), TKCustomHexEditor only }
|
||||||
|
ecClearIndexSelection,
|
||||||
|
{ Delete selection (digit selection as well) }
|
||||||
|
ecClearSelection,
|
||||||
|
{ Search for text/digits }
|
||||||
|
ecSearch,
|
||||||
|
{ Replace text/digits }
|
||||||
|
ecReplace,
|
||||||
|
{ Set insert mode }
|
||||||
|
ecInsertMode,
|
||||||
|
{ Set overwrite mode }
|
||||||
|
ecOverwriteMode,
|
||||||
|
{ Toggle insert/overwrite mode }
|
||||||
|
ecToggleMode,
|
||||||
|
{ Adjust editor when getting input focus }
|
||||||
|
ecGotFocus,
|
||||||
|
{ Adjust editor when losing input focus }
|
||||||
|
ecLostFocus
|
||||||
|
);
|
||||||
|
|
||||||
|
{ @abstract(Declares the keystroke information structure for the Key member
|
||||||
|
of the @link(TKEditCommandAssignment) structure)
|
||||||
|
<UL>
|
||||||
|
<LH>Members:</LH>
|
||||||
|
<LI><I>Key</I> - virtual key code</LI>
|
||||||
|
<LI><I>Shift</I> - shift state that belongs to that key code</LI>
|
||||||
|
</UL>
|
||||||
|
}
|
||||||
|
TKEditKey = record
|
||||||
|
Key: Word;
|
||||||
|
Shift: TShiftState;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ @abstract(Declares the @link(TKEditKeyMapping) array item)
|
||||||
|
<UL>
|
||||||
|
<LH>Members:</LH>
|
||||||
|
<LI><I>Command</I> - command that is about to be executed</LI>
|
||||||
|
<LI><I>Key</I> - key combination necessary to execute that command</LI>
|
||||||
|
</UL>
|
||||||
|
}
|
||||||
|
TKEditCommandAssignment = record
|
||||||
|
Command: TKEditCommand;
|
||||||
|
Key: TKEditKey;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ @abstract(Declares OnDropFiles event handler)
|
||||||
|
<UL>
|
||||||
|
<LH>Parameters:</LH>
|
||||||
|
<LI><I>Sender</I> - identifies the event caller</LI>
|
||||||
|
<LI><I>X, Y</I> - mouse cursor coordinates (relative to the caller's window)</LI>
|
||||||
|
<LI><I>Files</I> - list of file names that were dropped on the caller's window)</LI>
|
||||||
|
</UL>
|
||||||
|
}
|
||||||
|
TKEditDropFilesEvent = procedure(Sender: TObject; X, Y: integer;
|
||||||
|
Files: TStrings) of object;
|
||||||
|
|
||||||
|
{ Declares key mapping array for the KeyMapping property }
|
||||||
|
TKEditKeyMapping = array of TKEditCommandAssignment;
|
||||||
|
|
||||||
|
{ Declares character mapping array for the @link(TKCustomHexEditor.CharMapping) property }
|
||||||
|
TKEditCharMapping = array of AnsiChar;
|
||||||
|
|
||||||
|
{ Pointer to @link(TKHexEditorCharMapping) }
|
||||||
|
PKEditCharMapping = ^TKEditCharMapping;
|
||||||
|
|
||||||
|
{ Declares options - possible values for the @link(TKCustomEdit.Options) property }
|
||||||
|
TKEditOption = (
|
||||||
|
{ The editor will receive dropped files }
|
||||||
|
eoDropFiles,
|
||||||
|
{ All undo/redo operations of the same kind will be grouped together }
|
||||||
|
eoGroupUndo,
|
||||||
|
{ The editor allows undo/redo operations after the @link(TKCustomEdit.Modified) property
|
||||||
|
has been set to False }
|
||||||
|
eoUndoAfterSave
|
||||||
|
);
|
||||||
|
|
||||||
|
{ Options can be arbitrary combined }
|
||||||
|
TKEditOptions = set of TKEditOption;
|
||||||
|
|
||||||
|
{ Declares possible values for the Action parameter in the @link(TKEditReplaceTextEvent) event }
|
||||||
|
TKEditReplaceAction = (
|
||||||
|
{ Quit replace sequence }
|
||||||
|
eraCancel,
|
||||||
|
{ Replace this occurence }
|
||||||
|
eraYes,
|
||||||
|
{ Don't replace this occurence }
|
||||||
|
eraNo,
|
||||||
|
{ Replace all following occurences without prompting }
|
||||||
|
eraAll
|
||||||
|
);
|
||||||
|
|
||||||
|
{ @abstract(Declares OnReplaceText event handler)
|
||||||
|
<UL>
|
||||||
|
<LH>Parameters:</LH>
|
||||||
|
<LI><I>Sender</I> - identifies the event caller</LI>
|
||||||
|
<LI><I>TextToFind</I> - current search string</LI>
|
||||||
|
<LI><I>TextToReplace</I> - current replace string</LI>
|
||||||
|
<LI><I>Action</I> - specifies how the replace function should continue</LI>
|
||||||
|
</UL>
|
||||||
|
}
|
||||||
|
TKEditReplaceTextEvent = procedure(Sender: TObject; const TextToFind, TextToReplace:
|
||||||
|
string; var Action: TKEditReplaceAction) of object;
|
||||||
|
|
||||||
|
{ Declares possible values for the ErrorReason member of the @link(TKEditSearchData) structure }
|
||||||
|
TKEditSearchError = (
|
||||||
|
{ No error occured }
|
||||||
|
eseOk,
|
||||||
|
{ There is a character in the search string that cannot be interpreted as hexadecimal digits}
|
||||||
|
eseNoDigitsFind,
|
||||||
|
{ There is a character in the replace string that cannot be interpreted as hexadecimal digits}
|
||||||
|
eseNoDigitsReplace,
|
||||||
|
{ No other search string found }
|
||||||
|
eseNoMatch
|
||||||
|
);
|
||||||
|
|
||||||
|
{ Declares search options - possible values for the Options member of the @link(TKEditSearchData) structure }
|
||||||
|
TKEditSearchOption = (
|
||||||
|
{ Replace all occurences }
|
||||||
|
esoAll,
|
||||||
|
{ Search backwards }
|
||||||
|
esoBackwards,
|
||||||
|
{ Search entire scope instead from current caret position }
|
||||||
|
esoEntireScope,
|
||||||
|
{ Include to identify search - this element will be automatically cleared
|
||||||
|
to provide the @link(TKEditSearchData) structure for additional search }
|
||||||
|
esoFirstSearch,
|
||||||
|
{ Match case when a binary search should be executed }
|
||||||
|
esoMatchCase,
|
||||||
|
{ Prompt user before a string is about to be replaced. This assumes @link(OnReplaceText)
|
||||||
|
is assigned }
|
||||||
|
esoPrompt,
|
||||||
|
{ Search the current selection only }
|
||||||
|
esoSelectedOnly,
|
||||||
|
{ Treat the supplied search and/or replace strings as hexadecimal sequence.
|
||||||
|
When the search string contains a character that cannot be interpreted as
|
||||||
|
hexadecimal digit, the execution stops and @link(eseNoDigits) error will
|
||||||
|
be returned. Similarly, @link(eseNoDigitsReplace) errors will be returned
|
||||||
|
on invalid replace string }
|
||||||
|
esoTreatAsDigits,
|
||||||
|
{ Internal option - don't modify }
|
||||||
|
esoWereDigits
|
||||||
|
);
|
||||||
|
|
||||||
|
{ Search options can be arbitrary combined }
|
||||||
|
TKEditSearchOptions = set of TKEditSearchOption;
|
||||||
|
|
||||||
|
{ @abstract(Declares the search/replace description structure for the @link(ecSearch)
|
||||||
|
and @link(ecReplace) commands)
|
||||||
|
<UL>
|
||||||
|
<LH>Members:</LH>
|
||||||
|
<LI><I>ErrorReason</I> - upon @link(ExecuteCommand)(ecSearch) or
|
||||||
|
ExecuteCommand(ecReplace), inspect this member to inform user about
|
||||||
|
search/replace result</LI>
|
||||||
|
<LI><I>Options</I> - defines search/replace options</LI>
|
||||||
|
<LI><I>SelStart, SelEnd</I> - internal parameters, don't modify</LI>
|
||||||
|
<LI><I>TextToFind</I> - search string</LI>
|
||||||
|
<LI><I>TextToReplace</I> - replace string</LI>
|
||||||
|
</UL>
|
||||||
|
}
|
||||||
|
TKEditSearchData = record
|
||||||
|
ErrorReason: TKEditSearchError;
|
||||||
|
Options: TKEditSearchOptions;
|
||||||
|
SelStart,
|
||||||
|
SelEnd: Integer;
|
||||||
|
TextToFind,
|
||||||
|
TextToReplace: string;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ Pointer to @link(TKEditSearchData) }
|
||||||
|
PKEditSearchData = ^TKEditSearchData;
|
||||||
|
|
||||||
|
{ Returns default key mapping structure }
|
||||||
|
function CreateDefaultKeyMapping: TKEditKeyMapping;
|
||||||
|
|
||||||
|
{ Returns default char mapping structure }
|
||||||
|
function DefaultCharMapping: TKEditCharMapping;
|
||||||
|
|
||||||
|
{ Returns default search data structure }
|
||||||
|
function DefaultSearchData: TKEditSearchData;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
function CreateDefaultKeyMapping: TKEditKeyMapping;
|
||||||
|
|
||||||
|
procedure AddKey(Command: TKEditCommand; Key: Word; Shift: TShiftState);
|
||||||
|
var
|
||||||
|
I: Integer;
|
||||||
|
begin
|
||||||
|
I := Length(Result);
|
||||||
|
SetLength(Result, I + 1);
|
||||||
|
Result[I].Command := Command;
|
||||||
|
Result[I].Key.Key := Key;
|
||||||
|
Result[I].Key.Shift := Shift;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
AddKey(ecLeft, VK_LEFT, []);
|
||||||
|
AddKey(ecRight, VK_RIGHT, []);
|
||||||
|
AddKey(ecRight, VK_RETURN, []);
|
||||||
|
AddKey(ecUp, VK_UP, []);
|
||||||
|
AddKey(ecDown, VK_DOWN, []);
|
||||||
|
AddKey(ecLineStart, VK_HOME, []);
|
||||||
|
AddKey(ecLineEnd, VK_END, []);
|
||||||
|
AddKey(ecPageUp, VK_PRIOR, []);
|
||||||
|
AddKey(ecPageDown, VK_NEXT, []);
|
||||||
|
AddKey(ecPageLeft, VK_LEFT, [ssCtrl, ssAlt]);
|
||||||
|
AddKey(ecPageRight, VK_RIGHT, [ssCtrl, ssAlt]);
|
||||||
|
AddKey(ecPageTop, VK_PRIOR, [ssCtrl]);
|
||||||
|
AddKey(ecPageBottom, VK_NEXT, [ssCtrl]);
|
||||||
|
AddKey(ecEditorTop, VK_HOME, [ssCtrl]);
|
||||||
|
AddKey(ecEditorBottom, VK_END, [ssCtrl]);
|
||||||
|
AddKey(ecSelLeft, VK_LEFT, [ssShift]);
|
||||||
|
AddKey(ecSelRight, VK_RIGHT, [ssShift]);
|
||||||
|
AddKey(ecSelUp, VK_UP, [ssShift]);
|
||||||
|
AddKey(ecSelDown, VK_DOWN, [ssShift]);
|
||||||
|
AddKey(ecSelLineStart, VK_HOME, [ssShift]);
|
||||||
|
AddKey(ecSelLineEnd, VK_END, [ssShift]);
|
||||||
|
AddKey(ecSelPageUp, VK_PRIOR, [ssShift]);
|
||||||
|
AddKey(ecSelPageDown, VK_NEXT, [ssShift]);
|
||||||
|
AddKey(ecSelPageLeft, VK_LEFT, [ssShift, ssCtrl, ssAlt]);
|
||||||
|
AddKey(ecSelPageRight, VK_RIGHT, [ssShift, ssCtrl, ssAlt]);
|
||||||
|
AddKey(ecSelPageTop, VK_PRIOR, [ssShift, ssCtrl]);
|
||||||
|
AddKey(ecSelPageBottom, VK_NEXT, [ssShift, ssCtrl]);
|
||||||
|
AddKey(ecSelEditorTop, VK_HOME, [ssShift, ssCtrl]);
|
||||||
|
AddKey(ecSelEditorBottom, VK_END, [ssShift, ssCtrl]);
|
||||||
|
AddKey(ecScrollUp, VK_UP, [ssCtrl]);
|
||||||
|
AddKey(ecScrollDown, VK_DOWN, [ssCtrl]);
|
||||||
|
AddKey(ecScrollLeft, VK_LEFT, [ssCtrl]);
|
||||||
|
AddKey(ecScrollRight, VK_RIGHT, [ssCtrl]);
|
||||||
|
AddKey(ecScrollCenter, VK_RETURN, [ssCtrl]);
|
||||||
|
AddKey(ecUndo, ord('Z'), [ssCtrl]);
|
||||||
|
AddKey(ecUndo, VK_BACK, [ssAlt]);
|
||||||
|
AddKey(ecRedo, ord('Z'), [ssShift, ssCtrl]);
|
||||||
|
AddKey(ecRedo, VK_BACK, [ssShift, ssAlt]);
|
||||||
|
AddKey(ecCopy, ord('C'), [ssCtrl]);
|
||||||
|
AddKey(ecCopy, VK_INSERT, [ssCtrl]);
|
||||||
|
AddKey(ecCut, ord('X'), [ssCtrl]);
|
||||||
|
AddKey(ecCut, VK_DELETE, [ssShift]);
|
||||||
|
AddKey(ecPaste, ord('V'), [ssCtrl]);
|
||||||
|
AddKey(ecPaste, VK_INSERT, [ssShift]);
|
||||||
|
AddKey(ecDeleteLastChar, VK_BACK, []);
|
||||||
|
AddKey(ecDeleteLastChar, VK_BACK, [ssShift]);
|
||||||
|
AddKey(ecDeleteChar, VK_DELETE, []);
|
||||||
|
AddKey(ecDeleteEOL, ord('Y'), [ssCtrl,ssShift]);
|
||||||
|
AddKey(ecDeleteLine, ord('Y'), [ssCtrl]);
|
||||||
|
AddKey(ecSelectAll, ord('A'), [ssCtrl]);
|
||||||
|
AddKey(ecToggleMode, VK_INSERT, []);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DefaultCharMapping: TKEditCharMapping;
|
||||||
|
var
|
||||||
|
I: Integer;
|
||||||
|
begin
|
||||||
|
SetLength(Result, 256);
|
||||||
|
for I := 0 to Length(Result) - 1 do
|
||||||
|
if (I < $20) or (I >= $80) then
|
||||||
|
Result[I] := '.'
|
||||||
|
else
|
||||||
|
Result[I] := AnsiChar(I);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DefaultSearchData: TKEditSearchData;
|
||||||
|
begin
|
||||||
|
with Result do
|
||||||
|
begin
|
||||||
|
ErrorReason := eseOk;
|
||||||
|
Options := [esoAll, esoFirstSearch, esoPrompt, esoTreatAsDigits];
|
||||||
|
SelStart := 0;
|
||||||
|
SelEnd := 0;
|
||||||
|
TextToFind := '';
|
||||||
|
TextToReplace := '';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
1365
components/kcontrols/source/kfunctions.pas
Executable file
1365
components/kcontrols/source/kfunctions.pas
Executable file
File diff suppressed because it is too large
Load Diff
2145
components/kcontrols/source/kgraphics.pas
Executable file
2145
components/kcontrols/source/kgraphics.pas
Executable file
File diff suppressed because it is too large
Load Diff
101
components/kcontrols/source/kgrids.lrs
Executable file
101
components/kcontrols/source/kgrids.lrs
Executable file
@ -0,0 +1,101 @@
|
|||||||
|
LazarusResources.Add('kgrid_hci_hbegin','BMP',[
|
||||||
|
'BMZ'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#3#0#0#0#3#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#0#0#0#0#231#5#0#0#252#6#0'-'#255'2'#0#0#209#5#0
|
||||||
|
+#0#229#5#0#0#245#6#0#0#200#5#0#0#209#5#0#0#218#5#0
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('kgrid_hci_hcenter','BMP',[
|
||||||
|
'BMN'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#2#0#0#0#3#0#0#0#1#0' '#0#0#0#0#0#24#0#0
|
||||||
|
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0':'#255'?'#0':'#255'?'#0#0#249#6#0#0#249#6
|
||||||
|
+#0#0#221#5#0#0#221#5#0
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('kgrid_hci_hend','BMP',[
|
||||||
|
'BMZ'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#3#0#0#0#3#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#0#0#0'F'#255'J'#0'm'#255'p'#0#151#255#153#0#0
|
||||||
|
+#253#6#0'.'#255'3'#0'o'#255'r'#0#0#225#5#0#0#239#6#0#21#255#27#0
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('kgrid_hci_vbegin','BMP',[
|
||||||
|
'BMZ'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#3#0#0#0#3#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#0#0#0#0#218#5#0#0#245#6#0'-'#255'2'#0#0#209#5#0
|
||||||
|
+#0#229#5#0#0#252#6#0#0#200#5#0#0#209#5#0#0#231#5#0
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('kgrid_hci_vcenter','BMP',[
|
||||||
|
'BMN'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#3#0#0#0#2#0#0#0#1#0' '#0#0#0#0#0#24#0#0
|
||||||
|
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#221#5#0#0#249#6#0':'#255'?'#0#0#221#5#0
|
||||||
|
+#0#249#6#0':'#255'?'#0
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('kgrid_hci_vend','BMP',[
|
||||||
|
'BMZ'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#3#0#0#0#3#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#0#0#0'F'#255'J'#0'm'#255'p'#0#151#255#153#0#0
|
||||||
|
+#253#6#0'.'#255'3'#0'o'#255'r'#0#0#225#5#0#0#239#6#0#21#255#27#0
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('kgrid_drag_arrow','BMP',[
|
||||||
|
'BM'#26#2#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#11#0#0#0#11#0#0#0#1#0' '#0#0#0#0#0#228
|
||||||
|
+#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#0#0#0#0#0#0#0#0#0
|
||||||
|
+'5'#0#0#0#179#0#0#0'5'#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'5'#0#0#0#179#8#175#8#255#0#0#0#179#0#0#0'5'#0#0#0#0#0#0#0#0#0#0#0#0
|
||||||
|
+#0#0#0#0#0#0#0#0#0#0#0'5'#0#0#0#179#15#200#15#255'/'#227'/'#255'E'#204'E'#255
|
||||||
|
+#0#0#0#179#0#0#0'5'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'5'#0#0#0#179#9#199#9#255','
|
||||||
|
+#226','#255'l'#236'l'#255#153#240#153#255#131#222#131#255#0#0#0#179#0#0#0'5'
|
||||||
|
+#0#0#0#0#0#0#0'5'#0#0#0#179#1#201#1#255#15#223#15#255'C'#229'C'#255#147#240
|
||||||
|
+#147#255#191#247#191#255#175#244#175#255']'#202']'#255#0#0#0#179#0#0#0'5'#0#0
|
||||||
|
+#0#179#0#0#0#255#0#0#0#255#0#0#0#255'A'#231'A'#255#147#240#147#255#191#247
|
||||||
|
+#191#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#179#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||||
|
+#0#255'4'#228'4'#255#130#238#130#255#179#245#179#255#0#0#0#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#255''''#226''''#255'l'#235'l'#255
|
||||||
|
+#156#242#156#255#0#0#0#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#255#21#223#21#255'A'#230'A'#255'a'#234'a'#255#0#0#0#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#255#7#222#7#255#21#223#21#255'!'#225
|
||||||
|
+'!'#255#0#0#0#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#255#0
|
||||||
|
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('kgrid_sort_arrow','BMP',[
|
||||||
|
'BMf'#2#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#14#0#0#0#10#0#0#0#1#0' '#0#0#0#0#0'0'#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#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'Z'#0#0#0'Z'#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'Z'#0#0#0#255#0#0#0#255#0#0#0'Z'#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'Z'#0#0#0#255'q'#255'q'#255'y'#255'y'
|
||||||
|
+#255#0#0#0#255#0#0#0'Z'#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'Z'#0#0#0#255#153#255#153#255#180#255#180#255#195#255#195#255#189#255
|
||||||
|
+#189#255#0#0#0#255#0#0#0'Z'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'Z'
|
||||||
|
+#0#0#0#255#138#255#138#255#172#255#172#255#208#255#208#255#241#255#241#255
|
||||||
|
+#225#255#225#255#189#255#189#255#0#0#0#255#0#0#0'Z'#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||||
|
+#0#0'Z'#0#0#0#255'O'#255'O'#255'n'#255'n'#255#136#255#136#255#158#255#158#255
|
||||||
|
+#169#255#169#255#165#255#165#255#147#255#147#255'|'#255'|'#255#0#0#0#255#0#0
|
||||||
|
+#0'Z'#0#0#0#0#0#0#0'Z'#0#0#0#255#6#255#6#255'!'#255'!'#255'9'#255'9'#255'K'
|
||||||
|
+#255'K'#255'Y'#255'Y'#255'_'#255'_'#255']'#255']'#255'R'#255'R'#255'B'#255'B'
|
||||||
|
+#255','#255','#255#0#0#0#255#0#0#0'Z'#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
|
||||||
|
+#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
|
||||||
|
+#255#0#0#0#255#0#0#0#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
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('kgrid_cursor_hresize','CUR',[
|
||||||
|
#0#0#2#0#1#0' '#0#0#15#0#15#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#128#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#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#3#192#0#0#2'@'#0
|
||||||
|
+#0#2'@'#0#0#2'@'#0#0#2'@'#0#0'2L'#0#0'RJ'#0#0#158'y'#0#1#0#0#128#1#0#0#128#0
|
||||||
|
+#158'y'#0#0'RJ'#0#0'2L'#0#0#2'@'#0#0#2'@'#0#0#2'@'#0#0#2'@'#0#0#3#192#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#255#255#255#255
|
||||||
|
+#255#255#255#255#252'?'#255#255#252'?'#255#255#252'?'#255#255#252'?'#255#255
|
||||||
|
+#252'?'#255#255#204'3'#255#255#140'1'#255#255#0#0#255#254#0#0#127#254#0#0#127
|
||||||
|
+#255#0#0#255#255#140'1'#255#255#204'3'#255#255#252'?'#255#255#252'?'#255#255
|
||||||
|
+#252'?'#255#255#252'?'#255#255#252'?'#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('kgrid_cursor_vresize','CUR',[
|
||||||
|
#0#0#2#0#1#0' '#0#0#15#0#15#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#128#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#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#8#16#0#0#14'p'#0#0#2'@'#0#0#2'@'#0#1#254#127#128#1#0#0#128#1#0#0
|
||||||
|
+#128#1#254#127#128#0#2'@'#0#0#2'@'#0#0#14'p'#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#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#255
|
||||||
|
+#255#255#255#255#255#255#255#254#127#255#255#252'?'#255#255#248#31#255#255
|
||||||
|
+#240#15#255#255#240#15#255#255#252'?'#255#255#252'?'#255#254#0#0#127#254#0#0
|
||||||
|
+#127#254#0#0#127#254#0#0#127#255#252'?'#255#255#252'?'#255#255#240#15#255#255
|
||||||
|
+#240#15#255#255#248#31#255#255#252'?'#255#255#254#127#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
|
||||||
|
]);
|
12827
components/kcontrols/source/kgrids.pas
Executable file
12827
components/kcontrols/source/kgrids.pas
Executable file
File diff suppressed because it is too large
Load Diff
BIN
components/kcontrols/source/kgrids.res
Executable file
BIN
components/kcontrols/source/kgrids.res
Executable file
Binary file not shown.
5118
components/kcontrols/source/khexeditor.pas
Executable file
5118
components/kcontrols/source/khexeditor.pas
Executable file
File diff suppressed because it is too large
Load Diff
262
components/kcontrols/source/khexeditordesign.lrs
Executable file
262
components/kcontrols/source/khexeditordesign.lrs
Executable file
@ -0,0 +1,262 @@
|
|||||||
|
LazarusResources.Add('tkhexeditor','PNG',[
|
||||||
|
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
|
||||||
|
+#0#0#4'gAMA'#0#0#177#142'|'#251'Q'#147#0#0#0' cHRM'#0#0'z%'#0#0#128#131#0#0
|
||||||
|
+#249#255#0#0#128#232#0#0'u0'#0#0#234'`'#0#0':'#151#0#0#23'o'#151#169#153#212
|
||||||
|
+#0#0#4#12'IDATx'#156'b'#252#255#255'?'#3'y`?'#19#144'`'#7'b^ '#22#1'bq('#27#4
|
||||||
|
+'>'#1#241#11' ~'#3#16'@,$'#24#200#12'$X'#160#24#198#6#25'('#5#196'*@'#172#250
|
||||||
|
+#231#213#127#241#239#167#254#243#253'y'#199#254#155'M'#254#207'6n'#251#255
|
||||||
|
+#199#1#2#8'n'#1'###V'#175#0#197#25'XY'#153#25'xx8'#25'xy'#185#24#184#184'8'
|
||||||
|
+#24#216#217'Y'#193'b""'#252#12#26#26'r'#12'&Z'#26#12#218'3'#213#25#184'~'#9
|
||||||
|
+'2'#176#201's3|'#150#253#196#160#19#199#185#14#168#157#21' '#128'P|@lp'#253
|
||||||
|
+#251#252#155#129#129#137#145#129#137#27#162'}'#157#199't'#134#215'7?2'#200
|
||||||
|
+#240'q1'#252#229'gc'#224#239'V'#6#138'>'#3'*b'#248#5#16'@'#24'A'#196#200#216
|
||||||
|
+#136'da='#3'7w+'#131#148#20''''#131#158#158#16#131#137#137'0'#131#217#3'f'#6
|
||||||
|
+#149#223#252#12'o'#253#217#24#140#252'M'#25'NN^'#205#240#247#232'G'#6'i'#14
|
||||||
|
+#21#6'fA6'#6#233#185#22#12'O'#153#159#128#180#191#3#226'o'#0#1#132'a'#1#200
|
||||||
|
+'Pd'#240#245'k5'#156#189#196#178#151#129#235#154' '#3's'#160' '#131#142#182#6
|
||||||
|
+#195#183'G'#31#25#174'u\c0`'#6#26'.'#204#198' V'#175#199#192#174#202#203#240
|
||||||
|
+#227#218'O'#144#242#151' '#11#0#2#136#160#15'$%'#187#192'.'#15#10#146'g8p~'
|
||||||
|
+#31#131'>G'#12'D'#238#215'3'#134#147'yg'#24#20'>'#139'1p'#139#243'0'#240#7
|
||||||
|
+#139'2\'#149'z'#193'`'#197' '#199#240#253#251'/'#144#146'7@'#252#3' '#128#8
|
||||||
|
+#250#224#249#243'28{wF'#15'0'#249'03'#252'}'#251#147#225#221#220'/'#12#12'G>'
|
||||||
|
+'1'#136'3'#9'3p;J0'#136#214#152'0'#136's2'#131#213#253#253#251#15'D'#1#227
|
||||||
|
+#192#241#31'@'#0#17#244#129#130'B/'#131#189#189'8C|'#188'2\'#252#231#141#143
|
||||||
|
+#12#223'N'#191'e'#16'd'#226'c`'#228'`'#6')d'#248'u'#251#30#195#133'o'#31#24
|
||||||
|
+',,L'#25#152#153'AY'#4#148'G'#246#255#2#8' '#130'>x'#240#160#24#206#158#3#165
|
||||||
|
+#255'~'#254#195#240#227#199#15#134'{'#127#159'2'#8'}'#227'e`'#187#194#195#240
|
||||||
|
+'~.'#11#131'A'#162#10'X'#158#147#19#148#255#190#138#2#137'?'#0#1'D'#148#15#28
|
||||||
|
+#28'@>P'#129#139#179#136#176'3'#200'&I1'#188#186#201#196#176'o'#241#30#6#167
|
||||||
|
+#171#12#192#144#7#2'fF'#6'!'#14'U`~'#225#4#241#20#129#248';@'#0#145#228#131
|
||||||
|
+#217'P'#154'M'#129#135#129'UN'#154#193#189#200#146#225#206#191''''#12#251#150
|
||||||
|
+#158#1'["'#207#206#196#240'q'#229#3#6#142'0'#30#144'2P'#14#127#2#16'@'#4'} #'
|
||||||
|
+#211#205'`n.'#10'LEr('#234#152#249#191#130#233#192'Fo'#134#13#12'_'#24#142'/'
|
||||||
|
+#189#204#192'z'#158#133'A'#242#215'?'#6'n&'#9#134'?'#25'L'#162','#162#255'8'
|
||||||
|
+#1#2#136#17#150'{AE'#5#161#156#28#195#238#201#16#196#230#200#160#202','#203
|
||||||
|
+' ;'#209#156'A ^'#9','#254#253#195'W'#134'Ei'#211#24'x>'#177#2'c'#150#141'A'
|
||||||
|
+#239#159#2#131#176#15#235#20#225'<'#150#185#0#1#132'j'#1#194#233'`'#159#128
|
||||||
|
+'| '#208#206' '#15',_tt'#4#25'T><a'#144'Q'#147'c`f'#225'dx'#240#247'?CS_0'
|
||||||
|
+#131#175#239'\'#6'>>`'#14#150#230'b'#224#231'ge'#168#174#246'c'#184'u'#235#10
|
||||||
|
+#131#154#218'kG'#160'I'#15#1#2#8#167#5#148#128's'#231'N3'#24#25'}'#1#165#235
|
||||||
|
+#15#0#1#132#221#2'd'#128','#170'('#9'LB'#192't'#15#202'H'#223#129#197#193#243
|
||||||
|
+#183#16'qn'#14#136#248'G`'#188#8#243#1'KC'#160#158#247#155'@1'#253#27' '#128
|
||||||
|
+#240#251#0'XT'#195#249#172','#224#18#148#225#231'o'#136#24#136#15#178#232#223
|
||||||
|
+'?Tu'#8'6'#152#1#16'@LD'#251#251#207'_`'#225#251#7'b'#0#8#131#248'0'#135#160
|
||||||
|
+'9'#232#224#129#3'pm'#0#1'DB'#141#134#230';"'#1'@'#0#17#31'D'#200'l|rhA'#4#16
|
||||||
|
+'@X'#131#232#224#193#131'`'#140#194#135'y'#27#22'D'#12#144#160'@W'#135#14#0#2
|
||||||
|
+#136#145#252'V'#5'q'#0' '#128#136#143'd2'#1'@'#128#1#0#188' dE'#131#162#228
|
||||||
|
+'T'#0#0#0#0'IEND'#174'B`'#130
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('tkprintpreview','PNG',[
|
||||||
|
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
|
||||||
|
+#0#0#4'gAMA'#0#0#177#142'|'#251'Q'#147#0#0#0' cHRM'#0#0'z%'#0#0#128#131#0#0
|
||||||
|
+#249#255#0#0#128#232#0#0'u0'#0#0#234'`'#0#0':'#151#0#0#23'o'#151#169#153#212
|
||||||
|
+#0#0#6#175'IDATx'#156'b'#252#255#255'?'#3'###'#3#26'P'#7'bk fF'#151#128#1'VV'
|
||||||
|
+'fF'#1#1'^'#150#162#162#208#253#21#21#145' '#3#196#129#152#23'*'#253#9#136'_'
|
||||||
|
+#0#241#27#128#0'b'#193#162'7'#207#221#221#189'/<<'#156#153#149#149#21','#0'r'
|
||||||
|
+#196#127' '#253#239#223'?'#134'_'#191#127'3|'#250#242#157#225#213#219#247#12
|
||||||
|
+#127'~'#255'`8v'#236#240#221#7#15'^'#244')(HH'#252'y'#245'_'#252#251#169#255
|
||||||
|
+'|'#127#222#177#255'f'#147#255#179#141#219#254#255'q'#128#0'bD'#243#129#140
|
||||||
|
+#189#189#253#189#237';v'#178#190#255#240#137#225'/'#208'@'#16#128'H3'#2'-'
|
||||||
|
+#249#199#240#251#207'_'#134#239#223#127'2'#188#253#240#129#129#149#133#153'A'
|
||||||
|
+'B'#144#157#225#234#233'M'#31#149'{'#228#217'Y~'#242'p'#176#201's3'#176#169
|
||||||
|
+#179#191#150#236#254#145#6#212't'#5' '#128#208'}`'#228#229#229#205#250#225
|
||||||
|
+#211'g'#134#159'@'#151#194#12#7'9'#128#133#153#9#136'Y'#24#216#128#134'r'#252
|
||||||
|
+'a`'#224#17#20'f`'#228'fb'#16#23#17'a8'#155#193#193#255#244#198#27#6#25'>V'
|
||||||
|
+#134#191#188#140#127'EK'#255#173#1#234#2#25#240#11' '#128#152#208',`ffa'#6
|
||||||
|
+#187#150#133#153#25#138#129#134#178#178'0'#176#179#177'2pq'#178'1'#252'['#254
|
||||||
|
+#130#225'_'#251'c'#6#161#223#28#12'b'#194#252#12#23'f'#29'f'#248#127#236#27
|
||||||
|
+#131'4'#187'8'#3#179' '#27#131#232'$'#150#27',b'#140#15#129#134#188#3#226'o'
|
||||||
|
+#0#1#132#25#7#192' cf'#2#6#7#208#240#210#226'B'#6#7#7'{'#6'IIQ'#6'aa.'#134#27
|
||||||
|
+'9'''#24'4nK3'#200#6'j'#2'-'#252#193#240#231'%'#3#195#181#246#227#12#6#204'*'
|
||||||
|
+#12#204#194'l'#12'"5*'#12#187#238#175#149#214#230#146'y'#163#161'!'#247#18'd'
|
||||||
|
+#1'@'#0#161#251#0'd>'#3#19#19#19#208#18'&'#134#212#212'4'#6'C#c'#6'Y9y'#6#25
|
||||||
|
+#25'y'#134#3'WN0'#240'0rB'#212#253'bc8'#153#177#147'A'#225#179#24#3#183'('#15
|
||||||
|
+#3#127#176','#3'O'#176'"P}'#176'@v'#246#212#170#204#204'~P'#204#253#0#8' ,'
|
||||||
|
+#22#252#135'X'#0#12's'#14'NN'#134#175#223#190'1'#176#178's2|'#249#247#159#225
|
||||||
|
+#247#255#191#192't'#203#204#240#247#237'O'#134'ws'#31'00'#28#249#202' '#206
|
||||||
|
+'$'#204#192#237'('#206' Z'#163#202#240#233#243#7#134#151#239#191'3(i'#152')m'
|
||||||
|
+#218't'#220#132#129#193#241#31'@'#0'aZ'#192#0#178#128#17'l'#201#219#247#31#25
|
||||||
|
+#254#176'p0'#156'|'#244#140'AZT'#26#174#230#231#141#143#12#31#150'>c'#16'd'
|
||||||
|
+#226'c`'#228'`'#6'ib'#248'u'#251#3'0'#142#184#24#132#5#249#25#196'D'#133#24
|
||||||
|
+#132#132'x'#129'i|?3@'#0'a'#245#1'('#213#252#250#253#135#129#137#149#131'a'
|
||||||
|
+#251#149#187#12':**'#12#191#160'I'#22#4#254'~'#254#195#240#227#199#15#134#187
|
||||||
|
+#127#159'2'#188#248#246#138#225#199#149#143#12#239#231#2#243#213#245#239#192
|
||||||
|
+'T%'#196#160#166','#195#160#163#163#200#7'T'#202#9#16'@'#24#145#12#14'"F&'
|
||||||
|
+#134'g/_3'#220'|'#249#129#129'_L'#148#225#237#175#223#12#146#127'~'#194#213
|
||||||
|
+#176#136#176'3'#200'&'#169'2'#188#186#249#151'a'#223#226#131#12'NW'#25#24#228
|
||||||
|
+#192'i'#144#145'A E'#129'AIQ'#138#193#216'X'#21#148#179#5#0#2#8'k$3'#2#131
|
||||||
|
+#232#237#187#143#12'w'#223'|`'#248#250#235#23#195#251#31#191#24#190#253#250#1
|
||||||
|
+'W'#195#166#192#195#192'*'#199#206#224'>'#211#135'A"Z'#129'a'#223#159'3'#12
|
||||||
|
+#143#174#222'c'#248'~'#238#29#195#231#213'O'#25'$'#152#133#129#137'BL'#8#168
|
||||||
|
+#148#15' '#128#176#250#0#20#253#159#191'~'#5#27#254#229#203#15#134'w_'#190'1'
|
||||||
|
+#188#255#134#170#148#153#159#149#225#253#247#223#12'Q'#147#210#24#150'3'#204
|
||||||
|
+'d8'#190#244'2'#3#235'y'#22#6#201'_'#255#24#184#25'D'#24#4#180#249#193'A'#4
|
||||||
|
+#16'@'#216#131#8#24#193#255#254#254'c'#224#5'f'#176#23#159'>'#0#195'['#140
|
||||||
|
+#225#211#15'`'#156#0#173#190#241#247#1#131#234#145#191#12#255'|'#4#24#158'*'
|
||||||
|
+#253'f'#248#241#247'/'#131'Vn'#0#195#197#215#235#24#238'}}'#207#240#130#249
|
||||||
|
+#23#131#198#254#175#12#28'_'#185'D'#24'B'#24#254#2#4#16'N'#31#240#243#241'0'
|
||||||
|
+#200#11#240'0<'#127#249#150#225'70'#14'>|'#254#198#224#148#23#204' '#160'%'
|
||||||
|
+#199#240#133#135#135#225#157#18#11#195#179'w_'#24#222'}'#252#194#240#253#219
|
||||||
|
+'W'#6#139':'#31#6'9q'#17#6')qi'#134#157#187#214'3'#156'?w'#230#132#3#131#198
|
||||||
|
+'G'#128#0#194#154#138'@'#5#144#154#146'<'#195#231#215#175#24'd9'#217#25'>'
|
||||||
|
+#127#252#204#240#237#251#31#6#209'pC'#6'&3i'#134#239#154#252#12#175#127'~'#5
|
||||||
|
+#166#251#31#12'O'#158#191'c'#248#255#237#31#195#181#171#183#24#4#248'E'#24
|
||||||
|
+#128#217#133#225'9P'#236#194#133#219#175#129#198'}'#4#8' ,>``x'#252#236'%'
|
||||||
|
+#195#174'C'''#25#148#149#20#24#190#253#248#201#240#20'T<?'#127#201#192'''-'
|
||||||
|
+#193' '#12#196#224#4#203#254#157#225#237#179#215#12'|'#192#164#204#240#225#13
|
||||||
|
+#131#150#145'.'#3'70'#31#252#249#251#135#225#221#187#207#12#231#206#221#254#8
|
||||||
|
+'T'#245#5' '#128#208'-`|'#248#244'9'#195#198']'#135#25'L'#244'5'#25'$D'#4#25
|
||||||
|
+'.\'#189#205'p'#247#238'}'#6'!v'#5#134'_'#223#127'1'#220#190'|'#5#172#240#251
|
||||||
|
+'?&'#134'o/'#223'0'#188'{'#248#128#193'@K'#133#193#194'X'#23'^'#172#131#138
|
||||||
|
+#243#251#247'_'#0#147#157#227'/'#128#0'B'#182'@'#148#133#133#181#129#141'G'
|
||||||
|
+#136#193'HW'#157'AIV'#146#225'.0'#7'_'#186'v'#131'AEV'#140#225#194#197's'#12
|
||||||
|
+#23'O'#255'e'#224#227#231'g'#248#15#204't'#31#128#245#129#152#176#0#131#185
|
||||||
|
,#161'6'#131#146#156#20#195#223'?'#127#24#152#217#216#192#241#247#15#20#12'P'
|
||||||
|
+#0#16'@0'#11'D'#129#229#244#222#144#184't]'#31'Ow'#6'e'#160#134'G'#192'`:t'
|
||||||
|
+#236#20#131#158#154'<'#131#150#154'"'#131#181#153#1'0o'#188'g'#248#0#140#15
|
||||||
|
+'}}}'#6'!'#1'>'#6'n.N'#244#16'F'#196'#'#20#0#4#16#204#130#249'v'#158#193#186
|
||||||
|
+#22#150'V'#12#252#188'<'#12#183#238'=f8}'#233':'#131#139#189'%'#131#149#177
|
||||||
|
+#30'$'#236#128#254#255#11'L'#146#204#204'8'#171'i0'#0#213#130#127#254#128'+'
|
||||||
|
+#171#191' '#2' '#128#160#22'0r'#139'KJ'#131'S'#207#165'k'#183#24#238'>|'#194
|
||||||
|
+#224'lk'#198'`'#172#171#201#240#243#215'o'#20#3'@U&.'#0#170#179#223#188#251
|
||||||
|
+#192#176'w'#207#30#144#166's 1'#128#0#130'Z'#240#191'y'#255#182'5'#214','#192
|
||||||
|
+'Hx'#3'L'#154'O'#239'^e'#16#229#250#199'p'#253#226'Y'#188#174'E'#7#191#129'.'
|
||||||
|
+#223#182'e'#243#223'S''O'#148#0#185'O@b'#0#1#132'\'#233#187#2#233#6' '#253#11
|
||||||
|
+'('#6#162#149#25#240'4[p'#0#144#247#142#2#241'M'#176#179#129'f'#3#4#24#0#252
|
||||||
|
+'1e'#249#212#25#172'k'#0#0#0#0'IEND'#174'B`'#130
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('tkprintpreviewdialog','PNG',[
|
||||||
|
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
|
||||||
|
+#0#0#4'gAMA'#0#0#177#142'|'#251'Q'#147#0#0#0' cHRM'#0#0'z%'#0#0#128#131#0#0
|
||||||
|
+#249#255#0#0#128#232#0#0'u0'#0#0#234'`'#0#0':'#151#0#0#23'o'#151#169#153#212
|
||||||
|
+#0#0#5#198'IDATx'#156'b'#252#255#255'?'#3'y`?'#19#144'`'#7'b^ '#22#1'bq('#27
|
||||||
|
+#4'>'#1#241#11' ~'#3#16'@,'#251#246#29#248#191'k'#215'e'#130#198'111'#194'1#'
|
||||||
|
+'##'#3'33'#19#3';;'#11#3'//'#7#131#136#8#15#131#176'07'#3#215#127#22#6#166
|
||||||
|
+''''#255#24'Dx'#4#25'$D?Fr'#219#255'?'#14#16'@, '#195#195#211#146#240#26#14
|
||||||
|
+'4'#143#129#9'd('#19#136'f'#0'['#0#18'S'#191'u'#144#225#169#158'#'#131#216
|
||||||
|
+#179'+'#12'w3_00'#127#254#201#192'&'#207#205#240'W'#253';'#3'w'#247#255#31'@'
|
||||||
|
+#173#172#0#1#196#2'2'#224#228#205'/'#184']'#206#8'R'#197#200#192#205#193#196
|
||||||
|
+#192#3#196#28'l'#140#12#236'?'#255'2X'#254#186#206'p'#244#212'U'#6'ku9'#134
|
||||||
|
+#213#133#187#25#4'/'#241'2'#200#240'I2'#252#229'cax'#225#246#159#225#243'E'
|
||||||
|
+#254#245#250#250#31#229#1#2#8'l'#193#229#7'_qZ'#192#6'4'#156#159#155#153'AZ'
|
||||||
|
+#152#133#129#159#139#149'Ax'#227'S'#6#193'G?'#24#30#165#170'2XgJ3'#156'\t'#11
|
||||||
|
+#232'B'#6#6'i'#14'q'#6'fA6'#6#134'.]'#134#143#31'.3'#176#255#249#11#210#254
|
||||||
|
+#13' '#128#192#22#240'>'#220#138#211#2'..6'#6#17'q'#1#6'9q'#9#134'giG'#24#248
|
||||||
|
+'nK2'#8#7'j2H'#8'}c'#248#246#225'7'#195#181#246#19#12#6#204#170#12#204#194'l'
|
||||||
|
+#12#130'U'#210#12#247'Y'#238'3'#188'}'#251#133'A@'#0#28#223#223#0#2#8'lAGG.'
|
||||||
|
+#134#193#215#175'_gX'#180'h'#17'0'#172#217#25'8'#217#254'0'#8#243#243'2,'#187
|
||||||
|
+'r'#140#193#132'#'#6','#255#255#23#23#195#201#188#189#12#10#159#197#25#184
|
||||||
|
+#197'y'#24#248#131#229#25'D"'#245#193#201#233#248#241'E'#12'rr`'#31#252#0#8
|
||||||
|
+' '#22#152#129#15#30#220#129#27#254#237#219'7'#134#137#19#167'2'#180'ut'#2'S'
|
||||||
|
+#13#19#3#11#11'3'#3#27'+3'#195#239#255#147#24#152#129#240#239#219#159#12#239
|
||||||
|
+#230#2#131#230#200''''#6'q&a'#6'nGq'#6#209#26'e'#160#190#247'@s'#30'3'#252
|
||||||
|
+#252#249#135#225#223'?P'#242'w'#252#7#16'@,'#12'X'#192#157';w'#24'\'#221#220
|
||||||
|
+#25'>'#127#253#206#192#2'L:'#28#236#172#192#136'f'#135#203#255#188#241#145
|
||||||
|
+#225#219#233'?'#12#130'L|'#12#140#28#204'@'#239'00'#252#186#253#141#129'Y'
|
||||||
|
+#157#157#129#21#232#16'P'#242#5'%g`^a'#6#8' &l'#22#128#242#30'()'#178#178#176
|
||||||
|
+'0'#236#219#187#131#225#241#227#187#12#159'>>'#131#203#255#253#252#135#225
|
||||||
|
+#199#143#31#12'w'#255'>ex'#241#237#21#195#143'+'#31#25#222#207'}'#196#240#239
|
||||||
|
+#218'w'#6#30#30'Np'#190'`c'#3#187#157#19' '#128#176#250#0'j'#13#208#2'f'#6'Y'
|
||||||
|
+'Yy'#6#14#14'.`ze'#133#203#176#136#176'3'#200'&'#169'1'#188#186#249#159'a'
|
||||||
|
+#223#226#253#12'NW'#25#24#228'@'#18#204#140#12'<'#9#162#12#210#210#130'@=l'
|
||||||
|
+#160'('#16#0#8' '#156#22#128'|'#193#2#244#129#128#160#8#195#163'O?'#24#4#196
|
||||||
|
+#197#225'rl'#10'<'#12#172'rl'#12#238'E~'#12'w'#254'=f'#216#183#244#12#216#18
|
||||||
|
+'yv&'#6'f~'#22#6#9#23'^'#134#127#236'`'#7#241#1#4#16#214' '#130#135#245#175
|
||||||
|
+'_'#12#23#30'<g'#248#195#198#206#240#235#31'j'#153#197#204#207#198#240#245
|
||||||
|
+#199'w'#134#244#25#5#12#146#209#242#12#199#255'\fxv'#254#1#195#231#157'/'#24
|
||||||
|
+'x'#246#0#19#198#31'Fp'#16#1#4#16'N'#11'@'#133#224#171'7'#239#25#238'~'#250
|
||||||
|
+#198#240#252#215#127#134'G'#31#191'00102'#220#248#251#128#225#211#145#231#12
|
||||||
|
+#207'o'#191'g8}'#231#25#195#7#160#184'K'#190#23#3#159#187'8'#195#3#139'O'#12
|
||||||
|
+'g'#184#175'1'#188#219#7#140#143#139#223'A'#198#252#5#8' '#140' '#250#247#159
|
||||||
|
+#17#26#3#12#12'_'#190'}gx'#249#241'+'#195#191'W'#239#25#24#255#254'd'#176#202
|
||||||
|
+#242'g'#224#212'Qbx'#201#195#195#240'F'#138#129#225#245#227#247#12#146'\'#2
|
||||||
|
+#12#239#191'|cpl'#241'd'#144#145'Q`x'#247#238#29#195#249#243#183#25#20#21#193
|
||||||
|
+'n'#255#8#16'@'#24#22'01'#254#135'G'#2#7#27'+'#3#255#255#191#12#223'?}b'#248
|
||||||
|
+#6','#135'$'#162#205#24#190#3#173'~'#247#247#31#195#195'Wo'#25'X'#191#253'd'
|
||||||
|
+#248#247#231'?'#195#251#15#159#129'i'#255#7#176'D'#253#201#240#254#253#23#134
|
||||||
|
+'g'#207'>2HJ'#10#131'-'#0#8' '#188'A'#196#195#205#197' '#2'L'#25'L@'#131'8X'
|
||||||
|
+#216#24#184#152'A'#185#154#139#225#215'/F'#134#175#31#190'1p|'#255#202' /+'
|
||||||
|
+#197#240#245#235#15#134'/_'#190#3#197#127#3#217#223#193'E'#197#175'_'#127'@'
|
||||||
|
+#198'|'#1#8' '#156#22#220#184#243#144#225#220#149'['#12#14#22#134#12#188#159
|
||||||
|
+#222'3||'#0#12#215#207'_'#25#254#3#13#250#249#238#19#3#203#235#23#12#158#246
|
||||||
|
+'V'#192'L'#200#198#240#7'X'#176#129#240#191#127#255#24'~'#255#6#250#248#251
|
||||||
|
+'o'#134#191'@_'#2's'#242'/'#128#0#194#176#0#148#129#166#205#152#205' ,.'#197
|
||||||
|
+'`'#172#171#206'p'#251#222'#'#6#3'5y'#6#158#127#191#25'n]'#187#201'p'#237#226
|
||||||
|
+#21#6#150'Oo'#24#2#156'-'#25#196#132#249#193#25#242#31#158'Z'#17' '#128'P'
|
||||||
|
+#226#128#137#137#153#161#180#188#154'A'#203#216#142#193#216'@'#151#225#212
|
||||||
|
+#133'k'#12'"'#2#220#12#186#234'J@'#23#253#5#7#155#188#188'<'#216'Pd'#0'r=##+'
|
||||||
|
+#3'6'#0#16'@p'#11#238#221'{'#2#166#223#190#253#192#160#207#203#207#176'i'#251
|
||||||
|
+'^'#6#3']-'#6#11#19#3#20#13#31'>}F'#243#241'O'#134#237#219#182'2'#196'D'#199
|
||||||
|
+#192#205'@'#6#0#1#196'X^>'#9#197#127#239#223#191'f8xx+'#216#149#194#192'\'
|
||||||
|
+#140#230'X'#12#0#10#29'MM'#19'`'#10#18'G'#17'ws'#211'eprr`'#4#8' '#176#246
|
||||||
|
+#189'{'#247#147#219#180#192#11'@'#22#0#4#16'#'#249#205#22#226#0'@'#128#1#0'R'
|
||||||
|
,#186#239#253'E'#255#199#222#0#0#0#0'IEND'#174'B`'#130
|
||||||
|
]);
|
||||||
|
LazarusResources.Add('tkprintsetupdialog','PNG',[
|
||||||
|
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
|
||||||
|
+#0#0#4'gAMA'#0#0#177#142'|'#251'Q'#147#0#0#0' cHRM'#0#0'z%'#0#0#128#131#0#0
|
||||||
|
+#249#255#0#0#128#232#0#0'u0'#0#0#234'`'#0#0':'#151#0#0#23'o'#151#169#153#212
|
||||||
|
+#0#0#5#227'IDATx'#156'b'#252#255#255'?'#3'y`?'#19#144'`'#7'b^ '#22#1'bq('#27
|
||||||
|
+#4'>'#1#241#11' ~'#3#16'@,'#251#246#29#248#191'k'#215'e'#130#198'111'#194'1#'
|
||||||
|
+'##'#3'33'#19#3';;'#11#3'//'#7#131#136#8#15#131#176'07'#3#215#127#22#6#166
|
||||||
|
+''''#255#24'Dx'#4#25'$D?Fr'#219#255'?'#14#16'@, '#195#195#211#146#240#26#14
|
||||||
|
+'4'#143#129#9'd('#19#136'f'#0'['#0#18'S'#191'u'#144#225#169#158'#'#131#216
|
||||||
|
+#179'+'#12'w3_00'#127#254#201#192'&'#207#205#240'W'#253';'#3'w'#247#255#31'@'
|
||||||
|
+#173#172#0#1#196#2'2'#224#228#205'/'#184']'#206#8'R'#197#200#192#205#193#196
|
||||||
|
+#192#3#196#28'l'#140#12#236'?'#255'2X'#254#186#206'p'#244#212'U'#6'ku9'#134
|
||||||
|
+#213#133#187#25#4'/'#241'2'#200#240'I2'#252#229'cax'#225#246#159#225#243'E'
|
||||||
|
+#254#245#250#250#31#229#1#2#8'l'#193#229#7'_qZ'#192#6'4'#156#159#155#153'AZ'
|
||||||
|
+#152#133#129#159#139#149'Ax'#227'S'#6#193'G?'#24#30#165#170'2XgJ3'#156'\t'#11
|
||||||
|
+#232'B'#6#6'i'#14'q'#6'fA6'#6#134'.]'#134#143#31'.3'#176#255#249#11#210#254
|
||||||
|
+#13' '#128#192#22#240'>'#220#138#211#2'..6'#6#17'q'#1#6'9q'#9#134'giG'#24#248
|
||||||
|
+'nK2'#8#7'j2H'#8'}c'#248#246#225'7'#195#181#246#19#12#6#204#170#12#204#194'l'
|
||||||
|
+#12#130'U'#210#12#247'Y'#238'3'#188'}'#251#133'A@'#0#28#223#223#0#2#8'lAGG.V'
|
||||||
|
+#195'?||'#207#240#239#223'_'#6#22#22'f'#6'66V'#134#244'+]'#12'&'#28'1`'#185
|
||||||
|
+#255#191#248#25'N'#230#237'`P'#248','#206#192'-'#206#195#192#31','#207' '#18
|
||||||
|
+#169#15'NN'#199#143'/b'#144#147#3#251#224#7'@'#0#177#192#12'{'#240#224#14#134
|
||||||
|
+#5'?'#127#255'dPTP'#134#164#26'&f'#134#223#255#255'20'#3#225#223#183'?'#25
|
||||||
|
+#222#205#189#203#192'p'#228#19#131'8'#147'0'#3#183#163'8'#131'h'#141'2'#195
|
||||||
|
+#183'o'#239#129#230'<f'#248#249#243#15#208'a'#160#228#239#248#15' '#128#152
|
||||||
|
+#176#185#252#241#147''''#12's'#231#205#5#186#156#149#129#141#149#3#24#201#236
|
||||||
|
+#192#228#201#130#176#248#198'G'#134#15'K'#31'3'#8'2'#241'10r0'#3#189#195#192
|
||||||
|
+#240#235#246'7p'#210'eee'#6'''_Pr'#6#230#21'f'#128#0#194'j'#193#237'['#183#24
|
||||||
|
+#152'Y'#217#224#252#255#12#127#128#248#31#156#255#247#243#31#134#31'?~0'#220
|
||||||
|
+#253#251#148#225#197#183'W'#12'?'#174'|dx?'#247#17#195#191'k'#223#25'xx8'#193
|
||||||
|
+#249#130#141#13#236' N'#128#0'b'#193'4'#158#129#225#212#153#211#12#255#128'9'
|
||||||
|
+#252#227#167#143#12#127#254#255#2'z'#249#7'05'#177#194#229'YD'#216#25'd'#147
|
||||||
|
+'T'#24'^'#221#252#204#176'o'#241'i'#6#167#171#12#12'r '#9'fF'#6#158#4'Q'#6'i'
|
||||||
|
+'iA'#6#14#14#144#3#127#8#0#4#16'V'#11#30'<z'#10#166#223#189'}'#199#240#247
|
||||||
|
+#207#31#134'?'#127'~1'#176'03'#194#229#217#20'x'#24'X'#229'8'#24#220#139#172
|
||||||
|
+#24#238#252'{'#200#176'o'#233#25#176'%'#242#236'L'#12#204#252','#12#18'.'#188
|
||||||
|
+#12#255#216#193#14#226#3#8' '#20#11#190'|'#249#194#240#236#217's'#134#156#172
|
||||||
|
+#12#134'}'#7#14'0'#156'?'#127#1#152'L9'#25#216#128#225',).'#132#226#8'f~'#160
|
||||||
|
+#15'?'#254'gH'#158#146#203'0'#15#8#143'/'#189#204#192'z'#158#133'A'#242#215
|
||||||
|
+'?'#6#30#6'Q'#134'oA`'#7'q'#2#4#16'J'#28#188#255#240#158'AKK'#155#193#199#203
|
||||||
|
+#15'X'#150'H0H'#203'H3'#188'x'#249#146#225#211#7'`'#164#190#255#200#192#196
|
||||||
|
+#192#200'p'#227#239#3#134'OG'#158'3|'#188#243#137#225#254#253#183#12#28#236
|
||||||
|
+'R'#12#17#205#201#12#2#30#18#12#15',>1'#156#225#190#198#240'n'#31'0>.~'#7'G'
|
||||||
|
+#23'@'#0#161#248#0'T'#178#254#250#253#155#225#243#151#143#12'/^'#191'f'#16
|
||||||
|
+#145#16'ex'#246#226'9'#3#23''''#27'0'#243#240'3'#216'%'#218'2'#240'iK1|'#226
|
||||||
|
+'fg'#248','#247#150#225#246#149#135#12#26#26#230#12#191#24#255'2x'#244#6'1'#8
|
||||||
|
+#11#137'1'#188'{'#247#14#232#243#219#12#138#138'`'#183#127#4#8' '#140'8'#248
|
||||||
|
+#245#235#7#195#253#7'w'#25#222#0#195#127#215#238'}@K'#129'^'#230#230#0#230'L'
|
||||||
|
+#30#6#17'e>'#134#207#255#238'1'#252'y'#255#151#225#219#211'_'#12'?'#128#233
|
||||||
|
+#253#205#149#205#12#31'8'#213#24'~'#255#250#5't'#8'?'#195#251#247#160'`'#254
|
||||||
|
+#200' ))'#12#182#0' '#128'0,'#248#3',CXYY'#25#244#244't'#24'n'#221#190#203
|
||||||
|
+#192#2'L'#207#172',l'#192#224'a'#1#198#209#127#6'&'#150#223#12#255#129#153#8
|
||||||
|
+#232'Q'#6#21'eu'#6#1'M'#15#134#239'/_'#1#227#227'9'#208'q'#191#25#190'~'#253
|
||||||
|
+#14'.*~'#253#250#3#142'V'#128#0'B'#177#0'd'#240#206'];'#128'.'#251#9#230#203
|
||||||
|
+#203'H0'#128#162#10'\<3Ah'#6#6'Hjb'#4#6#231#219#215'/'#25#166'L'#157#10#204
|
||||||
|
+'Xl'#12#22'f'#22#192#220#251#15'h'#241'_'#134#239#223#127'3'#252#253#11#202
|
||||||
|
+'7'#142#191#0#2#8#197#2'I'#9'I'#134'g'#207'_0|'#251#250#133'AS['#147#225#210
|
||||||
|
+#165'k'#232#30'D'#1#250#250#218#12#215#174'\'#3#6#159'0'#131#188#188'<'#208
|
||||||
|
+#213#191'0'#212#0#4#16#138#5'L'#192#242'FCC'#131'a'#214#172#185#12#206#174
|
||||||
|
+#206#12#188#252#2'x-'#224#227#229'fX'#184'p9CFj2'#176#172#194'Z(0'#0#4#16#220
|
||||||
|
+#130'{'#247#158#128'ie'#5'5'#134#142#230'f'#134#163''''#142#130'k'#173#223
|
||||||
|
+#191#255#128'#'#240'/'#176'T'#5#149'9'#140'@G'#128#202#27'6`p'#254#3#6'Wk}='
|
||||||
|
+#131#162#146'2'#195#213'k'#152#133'%'#8#0#4#16#216#130#138#138#201#24#18'r'
|
||||||
|
+#178'Z'#12#220'\'#236#12#191#129'9'#249#215#239'_'#12#255#128#145#255#31#236
|
||||||
|
+'K&p\'#177#178#178#0'K'#207'_'#12#251#15#222#5'c\'#0' '#128#192'1'#182'w'#239
|
||||||
|
,'~r'#155#22'x'#129#147#147#3'#@'#0'1'#146#223'l!'#14#0#4#24#0'/h'#237#236'7['
|
||||||
|
+#12#214#0#0#0#0'IEND'#174'B`'#130
|
||||||
|
]);
|
36
components/kcontrols/source/khexeditordesign.pas
Executable file
36
components/kcontrols/source/khexeditordesign.pas
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
unit khexeditordesign;
|
||||||
|
|
||||||
|
{$include kcontrols.inc}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$IFNDEF FPC}
|
||||||
|
{$R *.dcr}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes, KControls, KDialogs, KHexEditor
|
||||||
|
{$IFDEF FPC}
|
||||||
|
, LResources
|
||||||
|
{$ENDIF}
|
||||||
|
;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('TK', [
|
||||||
|
TKHexEditor,
|
||||||
|
TKPrintPreview,
|
||||||
|
TKPrintSetupDialog,
|
||||||
|
TKPrintPreviewDialog
|
||||||
|
]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{$IFDEF FPC}
|
||||||
|
initialization
|
||||||
|
{$i khexeditordesign.lrs}
|
||||||
|
{$ENDIF}
|
||||||
|
end.
|
114
components/kcontrols/source/khexeditorlaz.lpk
Executable file
114
components/kcontrols/source/khexeditorlaz.lpk
Executable file
@ -0,0 +1,114 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<CONFIG>
|
||||||
|
<Package Version="4">
|
||||||
|
<PathDelim Value="\"/>
|
||||||
|
<Name Value="KHexEditorLaz"/>
|
||||||
|
<AddToProjectUsesSection Value="True"/>
|
||||||
|
<CompilerOptions>
|
||||||
|
<Version Value="10"/>
|
||||||
|
<PathDelim Value="\"/>
|
||||||
|
<SearchPaths>
|
||||||
|
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||||
|
</SearchPaths>
|
||||||
|
<Parsing>
|
||||||
|
<SyntaxOptions>
|
||||||
|
<UseAnsiStrings Value="False"/>
|
||||||
|
</SyntaxOptions>
|
||||||
|
</Parsing>
|
||||||
|
<Other>
|
||||||
|
<Verbosity>
|
||||||
|
<ShowHints Value="False"/>
|
||||||
|
</Verbosity>
|
||||||
|
<CompilerMessages>
|
||||||
|
<UseMsgFile Value="True"/>
|
||||||
|
</CompilerMessages>
|
||||||
|
<CompilerPath Value="$(CompPath)"/>
|
||||||
|
</Other>
|
||||||
|
</CompilerOptions>
|
||||||
|
<Version Major="1" Minor="5"/>
|
||||||
|
<Files Count="16">
|
||||||
|
<Item1>
|
||||||
|
<Filename Value="kcontrols.lrs"/>
|
||||||
|
<Type Value="LRS"/>
|
||||||
|
</Item1>
|
||||||
|
<Item2>
|
||||||
|
<Filename Value="kcontrols.pas"/>
|
||||||
|
<UnitName Value="KControls"/>
|
||||||
|
</Item2>
|
||||||
|
<Item3>
|
||||||
|
<Filename Value="khexeditordesign.lrs"/>
|
||||||
|
<Type Value="LRS"/>
|
||||||
|
</Item3>
|
||||||
|
<Item4>
|
||||||
|
<Filename Value="khexeditordesign.pas"/>
|
||||||
|
<HasRegisterProc Value="True"/>
|
||||||
|
<UnitName Value="khexeditordesign"/>
|
||||||
|
</Item4>
|
||||||
|
<Item5>
|
||||||
|
<Filename Value="kdialogs.pas"/>
|
||||||
|
<UnitName Value="KDialogs"/>
|
||||||
|
</Item5>
|
||||||
|
<Item6>
|
||||||
|
<Filename Value="kfunctions.pas"/>
|
||||||
|
<UnitName Value="KFunctions"/>
|
||||||
|
</Item6>
|
||||||
|
<Item7>
|
||||||
|
<Filename Value="kgraphics.pas"/>
|
||||||
|
<UnitName Value="KGraphics"/>
|
||||||
|
</Item7>
|
||||||
|
<Item8>
|
||||||
|
<Filename Value="khexeditor.pas"/>
|
||||||
|
<UnitName Value="KHexEditor"/>
|
||||||
|
</Item8>
|
||||||
|
<Item9>
|
||||||
|
<Filename Value="kprintpreview.lfm"/>
|
||||||
|
<Type Value="LFM"/>
|
||||||
|
</Item9>
|
||||||
|
<Item10>
|
||||||
|
<Filename Value="kprintpreview.lrs"/>
|
||||||
|
<Type Value="LRS"/>
|
||||||
|
</Item10>
|
||||||
|
<Item11>
|
||||||
|
<Filename Value="kprintpreview.pas"/>
|
||||||
|
<UnitName Value="KPrintPreview"/>
|
||||||
|
</Item11>
|
||||||
|
<Item12>
|
||||||
|
<Filename Value="kprintsetup.lfm"/>
|
||||||
|
<Type Value="LFM"/>
|
||||||
|
</Item12>
|
||||||
|
<Item13>
|
||||||
|
<Filename Value="kprintsetup.lrs"/>
|
||||||
|
<Type Value="LRS"/>
|
||||||
|
</Item13>
|
||||||
|
<Item14>
|
||||||
|
<Filename Value="kprintsetup.pas"/>
|
||||||
|
<UnitName Value="KPrintSetup"/>
|
||||||
|
</Item14>
|
||||||
|
<Item15>
|
||||||
|
<Filename Value="kwidewinprocs.pas"/>
|
||||||
|
<UnitName Value="KWideWinProcs"/>
|
||||||
|
</Item15>
|
||||||
|
<Item16>
|
||||||
|
<Filename Value="kcontrols.inc"/>
|
||||||
|
<Type Value="Include"/>
|
||||||
|
</Item16>
|
||||||
|
</Files>
|
||||||
|
<Type Value="RunAndDesignTime"/>
|
||||||
|
<RequiredPkgs Count="2">
|
||||||
|
<Item1>
|
||||||
|
<PackageName Value="Printer4Lazarus"/>
|
||||||
|
</Item1>
|
||||||
|
<Item2>
|
||||||
|
<PackageName Value="LCL"/>
|
||||||
|
<MinVersion Major="1" Valid="True"/>
|
||||||
|
</Item2>
|
||||||
|
</RequiredPkgs>
|
||||||
|
<UsageOptions>
|
||||||
|
<UnitPath Value="$(PkgOutDir)"/>
|
||||||
|
</UsageOptions>
|
||||||
|
<PublishOptions>
|
||||||
|
<Version Value="2"/>
|
||||||
|
<IgnoreBinaries Value="False"/>
|
||||||
|
</PublishOptions>
|
||||||
|
</Package>
|
||||||
|
</CONFIG>
|
22
components/kcontrols/source/khexeditorlaz.pas
Normal file
22
components/kcontrols/source/khexeditorlaz.pas
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{ This file was automatically created by Lazarus. Do not edit!
|
||||||
|
This source is only used to compile and install the package.
|
||||||
|
}
|
||||||
|
|
||||||
|
unit KHexEditorLaz;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
KControls, khexeditordesign, KDialogs, KFunctions, KGraphics, KHexEditor,
|
||||||
|
KPrintPreview, KPrintSetup, KWideWinProcs, LazarusPackageIntf;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterUnit('khexeditordesign', @khexeditordesign.Register);
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterPackage('KHexEditorLaz', @Register);
|
||||||
|
end.
|
2607
components/kcontrols/source/kicon.pas
Executable file
2607
components/kcontrols/source/kicon.pas
Executable file
File diff suppressed because it is too large
Load Diff
1475
components/kcontrols/source/kprintpreview.dfm
Executable file
1475
components/kcontrols/source/kprintpreview.dfm
Executable file
File diff suppressed because it is too large
Load Diff
1150
components/kcontrols/source/kprintpreview.lfm
Executable file
1150
components/kcontrols/source/kprintpreview.lfm
Executable file
File diff suppressed because it is too large
Load Diff
1447
components/kcontrols/source/kprintpreview.lrs
Executable file
1447
components/kcontrols/source/kprintpreview.lrs
Executable file
File diff suppressed because it is too large
Load Diff
228
components/kcontrols/source/kprintpreview.pas
Executable file
228
components/kcontrols/source/kprintpreview.pas
Executable file
@ -0,0 +1,228 @@
|
|||||||
|
{ @abstract(This unit contains print preview form.)
|
||||||
|
@author(Tomas Krysl (tk@tkweb.eu))
|
||||||
|
@created(18 Sep 2009)
|
||||||
|
@lastmod(20 Jun 2010)
|
||||||
|
|
||||||
|
Copyright � 2009 Tomas Krysl (tk@@tkweb.eu)<BR><BR>
|
||||||
|
|
||||||
|
<B>License:</B><BR>
|
||||||
|
This code is distributed as a freeware. You are free to use it as part
|
||||||
|
of your application for any purpose including freeware, commercial and
|
||||||
|
shareware applications. The origin of this source code must not be
|
||||||
|
misrepresented; you must not claim your authorship. You may modify this code
|
||||||
|
solely for your own purpose. Please feel free to contact the author if you
|
||||||
|
think your changes might be useful for other users. You may distribute only
|
||||||
|
the original package. The author accepts no liability for any damage
|
||||||
|
that may result from using this code. }
|
||||||
|
|
||||||
|
unit KPrintPreview;
|
||||||
|
|
||||||
|
{$include kcontrols.inc}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
{$IFDEF FPC}
|
||||||
|
LCLType, LCLIntf, LResources,
|
||||||
|
{$ELSE}
|
||||||
|
Windows, Messages, ToolWin, ImgList,
|
||||||
|
{$ENDIF}
|
||||||
|
SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, ComCtrls, ActnList, Buttons, StdCtrls,
|
||||||
|
ExtCtrls, KControls;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{ TKPrintPreviewForm }
|
||||||
|
|
||||||
|
TKPrintPreviewForm = class(TForm)
|
||||||
|
ILMain: TImageList;
|
||||||
|
ALMain: TActionList;
|
||||||
|
ACPageFirst: TAction;
|
||||||
|
ACPageLast: TAction;
|
||||||
|
ACPageNext: TAction;
|
||||||
|
ACPagePrevious: TAction;
|
||||||
|
ACClose: TAction;
|
||||||
|
ILMainDis: TImageList;
|
||||||
|
ToBMain: TToolBar;
|
||||||
|
TBPageFirst: TToolButton;
|
||||||
|
TBPagePrevious: TToolButton;
|
||||||
|
ToolButton1: TToolButton;
|
||||||
|
ToolButton3: TToolButton;
|
||||||
|
TBPageNext: TToolButton;
|
||||||
|
TBPageLast: TToolButton;
|
||||||
|
PNPage: TPanel;
|
||||||
|
EDPage: TEdit;
|
||||||
|
UDPage: TUpDown;
|
||||||
|
ToolButton6: TToolButton;
|
||||||
|
PNScale: TPanel;
|
||||||
|
CoBScale: TComboBox;
|
||||||
|
TBClose: TToolButton;
|
||||||
|
Preview: TKPrintPreview;
|
||||||
|
TBPrint: TToolButton;
|
||||||
|
ToolButton4: TToolButton;
|
||||||
|
ACPrint: TAction;
|
||||||
|
procedure CoBScaleExit(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure ACPageFirstExecute(Sender: TObject);
|
||||||
|
procedure ACPageFirstUpdate(Sender: TObject);
|
||||||
|
procedure ACPagePreviousExecute(Sender: TObject);
|
||||||
|
procedure ACPageNextExecute(Sender: TObject);
|
||||||
|
procedure ACPageNextUpdate(Sender: TObject);
|
||||||
|
procedure ACPageLastExecute(Sender: TObject);
|
||||||
|
procedure ACCloseExecute(Sender: TObject);
|
||||||
|
procedure ACCloseUpdate(Sender: TObject);
|
||||||
|
procedure EDPageExit(Sender: TObject);
|
||||||
|
procedure UDPageClick(Sender: TObject; Button: TUDBtnType);
|
||||||
|
procedure FormKeyDown(Sender: TObject; var Key: Word;
|
||||||
|
Shift: TShiftState);
|
||||||
|
procedure PreviewChanged(Sender: TObject);
|
||||||
|
procedure ACPrintExecute(Sender: TObject);
|
||||||
|
procedure ACPrintUpdate(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
private
|
||||||
|
procedure ScaleChanged;
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
KFunctions;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
CoBScale.ItemIndex := 9; // page width
|
||||||
|
Preview.DoubleBuffered := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
UDPage.Min := Preview.StartPage;
|
||||||
|
UDPage.Max := Preview.EndPage;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.CoBScaleExit(Sender: TObject);
|
||||||
|
begin
|
||||||
|
ScaleChanged;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ACPageFirstExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Preview.FirstPage;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ACPageFirstUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TAction(Sender).Enabled := Preview.Page > Preview.StartPage;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ACPagePreviousExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Preview.PreviousPage;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ACPageNextExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Preview.NextPage;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ACPageNextUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TAction(Sender).Enabled := Preview.Page < Preview.EndPage;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ACPageLastExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Preview.LastPage;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ACPrintExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Preview.Control.PrintOut;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ACPrintUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TAction(Sender).Enabled := Assigned(Preview.Control) and Preview.Control.CanPrint;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ACCloseExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ACCloseUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TAction(Sender).Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.EDPageExit(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Preview.Page := MinMax(StrToIntDef(EDPage.Text, Preview.Page), Preview.StartPage, Preview.EndPage);
|
||||||
|
EDPage.Text := IntToStr(Preview.Page);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.UDPageClick(Sender: TObject; Button: TUDBtnType);
|
||||||
|
begin
|
||||||
|
EDPageExit(nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.FormKeyDown(Sender: TObject; var Key: Word;
|
||||||
|
Shift: TShiftState);
|
||||||
|
begin
|
||||||
|
if Key = VK_ESCAPE then
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
Key := 0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.PreviewChanged(Sender: TObject);
|
||||||
|
begin
|
||||||
|
EDPage.Text := IntToStr(Preview.Page);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintPreviewForm.ScaleChanged;
|
||||||
|
var
|
||||||
|
S: string;
|
||||||
|
begin
|
||||||
|
S := CoBScale.Text;
|
||||||
|
if CoBScale.Items.IndexOf(S) < 0 then
|
||||||
|
CoBScale.ItemIndex := -1;
|
||||||
|
case CoBScale.ItemIndex of
|
||||||
|
-1:
|
||||||
|
begin
|
||||||
|
while (S <> '') and not CharInSetEx(S[Length(S)], ['0'..'9']) do Delete(S, Length(S), 1);
|
||||||
|
Preview.Scale := StrToIntDef(S, 100);
|
||||||
|
end;
|
||||||
|
0: Preview.Scale := 25;
|
||||||
|
1: Preview.Scale := 50;
|
||||||
|
2: Preview.Scale := 75;
|
||||||
|
3: Preview.Scale := 100;
|
||||||
|
4: Preview.Scale := 125;
|
||||||
|
5: Preview.Scale := 150;
|
||||||
|
6: Preview.Scale := 200;
|
||||||
|
7: Preview.Scale := 500;
|
||||||
|
end;
|
||||||
|
case CoBScale.ItemIndex of
|
||||||
|
-1:
|
||||||
|
begin
|
||||||
|
Preview.ScaleMode := smScale;
|
||||||
|
CobScale.Text := Format('%d %%', [Preview.Scale]);
|
||||||
|
end;
|
||||||
|
0..7: Preview.ScaleMode := smScale;
|
||||||
|
8: Preview.ScaleMode := smWholePage;
|
||||||
|
9: Preview.ScaleMode := smPageWidth;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{$IFDEF FPC}
|
||||||
|
initialization
|
||||||
|
{$i kprintpreview.lrs}
|
||||||
|
{$ELSE}
|
||||||
|
{$R *.dfm}
|
||||||
|
{$ENDIF}
|
||||||
|
end.
|
427
components/kcontrols/source/kprintsetup.dfm
Executable file
427
components/kcontrols/source/kprintsetup.dfm
Executable file
@ -0,0 +1,427 @@
|
|||||||
|
object KPrintSetupForm: TKPrintSetupForm
|
||||||
|
Left = 808
|
||||||
|
Top = 247
|
||||||
|
ActiveControl = CBFitToPage
|
||||||
|
BorderStyle = bsDialog
|
||||||
|
Caption = 'Page setup'
|
||||||
|
ClientHeight = 357
|
||||||
|
ClientWidth = 464
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = True
|
||||||
|
Position = poScreenCenter
|
||||||
|
OnCloseQuery = FormCloseQuery
|
||||||
|
OnCreate = FormCreate
|
||||||
|
OnDestroy = FormDestroy
|
||||||
|
OnShow = FormShow
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object GBFileToPrint: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 449
|
||||||
|
Height = 45
|
||||||
|
Caption = 'Title of printed document:'
|
||||||
|
TabOrder = 0
|
||||||
|
object EDTitle: TEdit
|
||||||
|
Left = 8
|
||||||
|
Top = 16
|
||||||
|
Width = 432
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 0
|
||||||
|
Text = 'EDTitle'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object GBPrintOptions: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Top = 109
|
||||||
|
Width = 249
|
||||||
|
Height = 105
|
||||||
|
Caption = 'Print options:'
|
||||||
|
TabOrder = 1
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 162
|
||||||
|
Top = 23
|
||||||
|
Width = 29
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Scale:'
|
||||||
|
Color = clBtnFace
|
||||||
|
FocusControl = EDPrintScale
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object CBFitToPage: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Top = 21
|
||||||
|
Width = 70
|
||||||
|
Height = 17
|
||||||
|
Caption = '&Fit to page'
|
||||||
|
TabOrder = 0
|
||||||
|
OnClick = EDTopExit
|
||||||
|
end
|
||||||
|
object CBPageNumbers: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Top = 40
|
||||||
|
Width = 86
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Pa&ge numbers'
|
||||||
|
TabOrder = 1
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
end
|
||||||
|
object CBUseColor: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Top = 59
|
||||||
|
Width = 62
|
||||||
|
Height = 17
|
||||||
|
Caption = '&Use color'
|
||||||
|
TabOrder = 2
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
end
|
||||||
|
object EDPrintScale: TEdit
|
||||||
|
Left = 162
|
||||||
|
Top = 39
|
||||||
|
Width = 48
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 3
|
||||||
|
OnExit = EDTopExit
|
||||||
|
end
|
||||||
|
object CBPaintSelection: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Top = 78
|
||||||
|
Width = 87
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Pa&int selection'
|
||||||
|
TabOrder = 4
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
end
|
||||||
|
object CBPrintTitle: TCheckBox
|
||||||
|
Left = 134
|
||||||
|
Top = 78
|
||||||
|
Width = 61
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Print tit&le'
|
||||||
|
TabOrder = 5
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object BUPrint: TButton
|
||||||
|
Left = 89
|
||||||
|
Top = 325
|
||||||
|
Width = 74
|
||||||
|
Height = 25
|
||||||
|
Caption = '&Print'
|
||||||
|
TabOrder = 4
|
||||||
|
OnClick = BUPrintClick
|
||||||
|
end
|
||||||
|
object BUCancel: TButton
|
||||||
|
Left = 383
|
||||||
|
Top = 325
|
||||||
|
Width = 74
|
||||||
|
Height = 25
|
||||||
|
Cancel = True
|
||||||
|
Caption = 'Cancel'
|
||||||
|
ModalResult = 2
|
||||||
|
TabOrder = 5
|
||||||
|
end
|
||||||
|
object GBMargins: TGroupBox
|
||||||
|
Left = 264
|
||||||
|
Top = 109
|
||||||
|
Width = 193
|
||||||
|
Height = 211
|
||||||
|
Caption = 'Margins:'
|
||||||
|
TabOrder = 3
|
||||||
|
object LBMarginUnits: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 23
|
||||||
|
Width = 62
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Margin u&nits:'
|
||||||
|
Color = clBtnFace
|
||||||
|
FocusControl = CoBMarginUnits
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBLeft: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 86
|
||||||
|
Width = 23
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Left:'
|
||||||
|
Color = clBtnFace
|
||||||
|
FocusControl = EDLeft
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBRight: TLabel
|
||||||
|
Left = 102
|
||||||
|
Top = 86
|
||||||
|
Width = 29
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Right:'
|
||||||
|
Color = clBtnFace
|
||||||
|
FocusControl = EDRight
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBTop: TLabel
|
||||||
|
Left = 9
|
||||||
|
Top = 131
|
||||||
|
Width = 22
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Top:'
|
||||||
|
Color = clBtnFace
|
||||||
|
FocusControl = EDTop
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBBottom: TLabel
|
||||||
|
Left = 102
|
||||||
|
Top = 131
|
||||||
|
Width = 38
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Bottom:'
|
||||||
|
Color = clBtnFace
|
||||||
|
FocusControl = EDBottom
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBUnitsLeft: TLabel
|
||||||
|
Left = 58
|
||||||
|
Top = 105
|
||||||
|
Width = 7
|
||||||
|
Height = 13
|
||||||
|
Caption = 'A'
|
||||||
|
Color = clBtnFace
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBUnitsTop: TLabel
|
||||||
|
Left = 58
|
||||||
|
Top = 150
|
||||||
|
Width = 7
|
||||||
|
Height = 13
|
||||||
|
Caption = 'A'
|
||||||
|
Color = clBtnFace
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBUnitsRight: TLabel
|
||||||
|
Left = 152
|
||||||
|
Top = 105
|
||||||
|
Width = 7
|
||||||
|
Height = 13
|
||||||
|
Caption = 'A'
|
||||||
|
Color = clBtnFace
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBUnitsBottom: TLabel
|
||||||
|
Left = 152
|
||||||
|
Top = 150
|
||||||
|
Width = 7
|
||||||
|
Height = 13
|
||||||
|
Caption = 'A'
|
||||||
|
Color = clBtnFace
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object CoBMarginUnits: TComboBox
|
||||||
|
Left = 8
|
||||||
|
Top = 39
|
||||||
|
Width = 176
|
||||||
|
Height = 21
|
||||||
|
Style = csDropDownList
|
||||||
|
ItemHeight = 13
|
||||||
|
TabOrder = 0
|
||||||
|
OnChange = CoBMarginUnitsChange
|
||||||
|
Items.Strings = (
|
||||||
|
'milimeters'
|
||||||
|
'centimeters'
|
||||||
|
'inches'
|
||||||
|
'hundredths of inches')
|
||||||
|
end
|
||||||
|
object CBMirrorMargins: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Top = 181
|
||||||
|
Width = 86
|
||||||
|
Height = 17
|
||||||
|
Caption = '&Mirror margins'
|
||||||
|
TabOrder = 5
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
end
|
||||||
|
object EDLeft: TEdit
|
||||||
|
Left = 8
|
||||||
|
Top = 102
|
||||||
|
Width = 48
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 1
|
||||||
|
OnExit = EDTopExit
|
||||||
|
end
|
||||||
|
object EDRight: TEdit
|
||||||
|
Left = 102
|
||||||
|
Top = 102
|
||||||
|
Width = 48
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 2
|
||||||
|
OnExit = EDTopExit
|
||||||
|
end
|
||||||
|
object EDTop: TEdit
|
||||||
|
Left = 8
|
||||||
|
Top = 147
|
||||||
|
Width = 48
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 3
|
||||||
|
OnExit = EDTopExit
|
||||||
|
end
|
||||||
|
object EDBottom: TEdit
|
||||||
|
Left = 102
|
||||||
|
Top = 147
|
||||||
|
Width = 48
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 4
|
||||||
|
OnExit = EDTopExit
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object GBPageSelection: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Top = 215
|
||||||
|
Width = 249
|
||||||
|
Height = 105
|
||||||
|
Caption = 'Page selection:'
|
||||||
|
TabOrder = 2
|
||||||
|
object LBRangeTo: TLabel
|
||||||
|
Left = 163
|
||||||
|
Top = 51
|
||||||
|
Width = 14
|
||||||
|
Height = 13
|
||||||
|
Caption = 'to:'
|
||||||
|
Color = clBtnFace
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBCopies: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 78
|
||||||
|
Width = 87
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Number of &copies:'
|
||||||
|
Color = clBtnFace
|
||||||
|
FocusControl = EDCopies
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object RBAll: TRadioButton
|
||||||
|
Left = 8
|
||||||
|
Top = 22
|
||||||
|
Width = 61
|
||||||
|
Height = 17
|
||||||
|
Caption = '&All pages'
|
||||||
|
Checked = True
|
||||||
|
TabOrder = 0
|
||||||
|
TabStop = True
|
||||||
|
OnClick = RBAllClick
|
||||||
|
end
|
||||||
|
object RBRange: TRadioButton
|
||||||
|
Left = 8
|
||||||
|
Top = 48
|
||||||
|
Width = 78
|
||||||
|
Height = 17
|
||||||
|
Caption = '&Range from:'
|
||||||
|
TabOrder = 1
|
||||||
|
OnClick = RBAllClick
|
||||||
|
end
|
||||||
|
object RBSelectedOnly: TRadioButton
|
||||||
|
Left = 128
|
||||||
|
Top = 22
|
||||||
|
Width = 82
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Selected &only'
|
||||||
|
TabOrder = 2
|
||||||
|
OnClick = RBAllClick
|
||||||
|
end
|
||||||
|
object EDRangeFrom: TEdit
|
||||||
|
Left = 108
|
||||||
|
Top = 46
|
||||||
|
Width = 48
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 3
|
||||||
|
OnExit = EDTopExit
|
||||||
|
end
|
||||||
|
object EDRangeTo: TEdit
|
||||||
|
Left = 193
|
||||||
|
Top = 46
|
||||||
|
Width = 48
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 4
|
||||||
|
OnExit = EDTopExit
|
||||||
|
end
|
||||||
|
object EDCopies: TEdit
|
||||||
|
Left = 126
|
||||||
|
Top = 73
|
||||||
|
Width = 48
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 5
|
||||||
|
end
|
||||||
|
object CBCollate: TCheckBox
|
||||||
|
Left = 179
|
||||||
|
Top = 75
|
||||||
|
Width = 51
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Collate'
|
||||||
|
TabOrder = 6
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object BUPreview: TButton
|
||||||
|
Left = 8
|
||||||
|
Top = 325
|
||||||
|
Width = 75
|
||||||
|
Height = 25
|
||||||
|
Caption = 'Previe&w...'
|
||||||
|
TabOrder = 6
|
||||||
|
OnClick = BUPreviewClick
|
||||||
|
end
|
||||||
|
object BUOk: TButton
|
||||||
|
Left = 303
|
||||||
|
Top = 325
|
||||||
|
Width = 74
|
||||||
|
Height = 25
|
||||||
|
Caption = 'OK'
|
||||||
|
Default = True
|
||||||
|
ModalResult = 1
|
||||||
|
TabOrder = 7
|
||||||
|
end
|
||||||
|
object GBPrinter: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Top = 56
|
||||||
|
Width = 449
|
||||||
|
Height = 50
|
||||||
|
Caption = 'Printer settings'
|
||||||
|
TabOrder = 8
|
||||||
|
object LBPrinterName: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 20
|
||||||
|
Width = 65
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Printer name:'
|
||||||
|
Color = clBtnFace
|
||||||
|
FocusControl = EDCopies
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object CoBPrinterName: TComboBox
|
||||||
|
Left = 112
|
||||||
|
Top = 17
|
||||||
|
Width = 206
|
||||||
|
Height = 21
|
||||||
|
ItemHeight = 13
|
||||||
|
TabOrder = 0
|
||||||
|
Text = 'CoBPrinterName'
|
||||||
|
OnChange = EDTopExit
|
||||||
|
end
|
||||||
|
object BUConfigure: TButton
|
||||||
|
Left = 328
|
||||||
|
Top = 15
|
||||||
|
Width = 113
|
||||||
|
Height = 25
|
||||||
|
Caption = 'Configure...'
|
||||||
|
TabOrder = 1
|
||||||
|
OnClick = BUConfigureClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object PSDMain: TPrinterSetupDialog
|
||||||
|
Left = 416
|
||||||
|
Top = 29
|
||||||
|
end
|
||||||
|
end
|
423
components/kcontrols/source/kprintsetup.lfm
Executable file
423
components/kcontrols/source/kprintsetup.lfm
Executable file
@ -0,0 +1,423 @@
|
|||||||
|
object KPrintSetupForm: TKPrintSetupForm
|
||||||
|
Left = 838
|
||||||
|
Height = 357
|
||||||
|
Top = 417
|
||||||
|
Width = 464
|
||||||
|
ActiveControl = EDTitle
|
||||||
|
BorderStyle = bsDialog
|
||||||
|
Caption = 'Page setup'
|
||||||
|
ClientHeight = 357
|
||||||
|
ClientWidth = 464
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
OnCloseQuery = FormCloseQuery
|
||||||
|
OnCreate = FormCreate
|
||||||
|
OnDestroy = FormDestroy
|
||||||
|
OnShow = FormShow
|
||||||
|
Position = poScreenCenter
|
||||||
|
LCLVersion = '0.9.29'
|
||||||
|
object GBFileToPrint: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Height = 45
|
||||||
|
Top = 8
|
||||||
|
Width = 449
|
||||||
|
Caption = 'Title of printed document:'
|
||||||
|
ClientHeight = 27
|
||||||
|
ClientWidth = 445
|
||||||
|
TabOrder = 0
|
||||||
|
object EDTitle: TEdit
|
||||||
|
Left = 8
|
||||||
|
Height = 21
|
||||||
|
Top = 2
|
||||||
|
Width = 432
|
||||||
|
TabOrder = 0
|
||||||
|
Text = 'EDTitle'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object GBPrintOptions: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Height = 105
|
||||||
|
Top = 109
|
||||||
|
Width = 249
|
||||||
|
Caption = 'Print options:'
|
||||||
|
ClientHeight = 87
|
||||||
|
ClientWidth = 245
|
||||||
|
TabOrder = 1
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 162
|
||||||
|
Height = 14
|
||||||
|
Top = 4
|
||||||
|
Width = 30
|
||||||
|
Caption = 'Scale:'
|
||||||
|
FocusControl = EDPrintScale
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object CBFitToPage: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Height = 17
|
||||||
|
Top = 2
|
||||||
|
Width = 70
|
||||||
|
Caption = '&Fit to page'
|
||||||
|
OnClick = EDTopExit
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object CBPageNumbers: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Height = 17
|
||||||
|
Top = 21
|
||||||
|
Width = 86
|
||||||
|
Caption = 'Pa&ge numbers'
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object CBUseColor: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Height = 17
|
||||||
|
Top = 40
|
||||||
|
Width = 62
|
||||||
|
Caption = '&Use color'
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
TabOrder = 2
|
||||||
|
end
|
||||||
|
object EDPrintScale: TEdit
|
||||||
|
Left = 162
|
||||||
|
Height = 21
|
||||||
|
Top = 20
|
||||||
|
Width = 48
|
||||||
|
OnExit = EDTopExit
|
||||||
|
TabOrder = 3
|
||||||
|
end
|
||||||
|
object CBPaintSelection: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Height = 17
|
||||||
|
Top = 59
|
||||||
|
Width = 87
|
||||||
|
Caption = 'Pa&int selection'
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
TabOrder = 4
|
||||||
|
end
|
||||||
|
object CBPrintTitle: TCheckBox
|
||||||
|
Left = 134
|
||||||
|
Height = 17
|
||||||
|
Top = 59
|
||||||
|
Width = 61
|
||||||
|
Caption = 'Print tit&le'
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
TabOrder = 5
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object BUPrint: TButton
|
||||||
|
Left = 89
|
||||||
|
Height = 25
|
||||||
|
Top = 325
|
||||||
|
Width = 74
|
||||||
|
Caption = '&Print'
|
||||||
|
OnClick = BUPrintClick
|
||||||
|
TabOrder = 4
|
||||||
|
end
|
||||||
|
object BUCancel: TButton
|
||||||
|
Left = 383
|
||||||
|
Height = 25
|
||||||
|
Top = 325
|
||||||
|
Width = 74
|
||||||
|
Cancel = True
|
||||||
|
Caption = 'Cancel'
|
||||||
|
ModalResult = 2
|
||||||
|
TabOrder = 5
|
||||||
|
end
|
||||||
|
object GBMargins: TGroupBox
|
||||||
|
Left = 264
|
||||||
|
Height = 211
|
||||||
|
Top = 109
|
||||||
|
Width = 193
|
||||||
|
Caption = 'Margins:'
|
||||||
|
ClientHeight = 193
|
||||||
|
ClientWidth = 189
|
||||||
|
TabOrder = 3
|
||||||
|
object LBMarginUnits: TLabel
|
||||||
|
Left = 8
|
||||||
|
Height = 14
|
||||||
|
Top = 6
|
||||||
|
Width = 63
|
||||||
|
Caption = 'Margin u&nits:'
|
||||||
|
FocusControl = CoBMarginUnits
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBLeft: TLabel
|
||||||
|
Left = 8
|
||||||
|
Height = 14
|
||||||
|
Top = 67
|
||||||
|
Width = 24
|
||||||
|
Caption = 'Left:'
|
||||||
|
FocusControl = EDLeft
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBRight: TLabel
|
||||||
|
Left = 102
|
||||||
|
Height = 14
|
||||||
|
Top = 67
|
||||||
|
Width = 30
|
||||||
|
Caption = 'Right:'
|
||||||
|
FocusControl = EDRight
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBTop: TLabel
|
||||||
|
Left = 9
|
||||||
|
Height = 14
|
||||||
|
Top = 126
|
||||||
|
Width = 23
|
||||||
|
Caption = 'Top:'
|
||||||
|
FocusControl = EDTop
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBBottom: TLabel
|
||||||
|
Left = 102
|
||||||
|
Height = 14
|
||||||
|
Top = 112
|
||||||
|
Width = 39
|
||||||
|
Caption = 'Bottom:'
|
||||||
|
FocusControl = EDBottom
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBUnitsLeft: TLabel
|
||||||
|
Left = 58
|
||||||
|
Height = 14
|
||||||
|
Top = 86
|
||||||
|
Width = 8
|
||||||
|
Caption = 'A'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBUnitsTop: TLabel
|
||||||
|
Left = 58
|
||||||
|
Height = 14
|
||||||
|
Top = 131
|
||||||
|
Width = 8
|
||||||
|
Caption = 'A'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBUnitsRight: TLabel
|
||||||
|
Left = 152
|
||||||
|
Height = 14
|
||||||
|
Top = 86
|
||||||
|
Width = 8
|
||||||
|
Caption = 'A'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBUnitsBottom: TLabel
|
||||||
|
Left = 152
|
||||||
|
Height = 14
|
||||||
|
Top = 131
|
||||||
|
Width = 8
|
||||||
|
Caption = 'A'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object CoBMarginUnits: TComboBox
|
||||||
|
Left = 8
|
||||||
|
Height = 21
|
||||||
|
Top = 22
|
||||||
|
Width = 176
|
||||||
|
ItemHeight = 13
|
||||||
|
Items.Strings = (
|
||||||
|
'milimeters'
|
||||||
|
'centimeters'
|
||||||
|
'inches'
|
||||||
|
'hundredths of inches'
|
||||||
|
)
|
||||||
|
OnChange = CoBMarginUnitsChange
|
||||||
|
Style = csDropDownList
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object CBMirrorMargins: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Height = 17
|
||||||
|
Top = 162
|
||||||
|
Width = 86
|
||||||
|
Caption = '&Mirror margins'
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
TabOrder = 5
|
||||||
|
end
|
||||||
|
object EDLeft: TEdit
|
||||||
|
Left = 8
|
||||||
|
Height = 21
|
||||||
|
Top = 83
|
||||||
|
Width = 48
|
||||||
|
OnExit = EDTopExit
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object EDRight: TEdit
|
||||||
|
Left = 102
|
||||||
|
Height = 21
|
||||||
|
Top = 83
|
||||||
|
Width = 48
|
||||||
|
OnExit = EDTopExit
|
||||||
|
TabOrder = 2
|
||||||
|
end
|
||||||
|
object EDTop: TEdit
|
||||||
|
Left = 8
|
||||||
|
Height = 21
|
||||||
|
Top = 128
|
||||||
|
Width = 48
|
||||||
|
OnExit = EDTopExit
|
||||||
|
TabOrder = 3
|
||||||
|
end
|
||||||
|
object EDBottom: TEdit
|
||||||
|
Left = 102
|
||||||
|
Height = 21
|
||||||
|
Top = 128
|
||||||
|
Width = 48
|
||||||
|
OnExit = EDTopExit
|
||||||
|
TabOrder = 4
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object GBPageSelection: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Height = 105
|
||||||
|
Top = 215
|
||||||
|
Width = 249
|
||||||
|
Caption = 'Page selection:'
|
||||||
|
ClientHeight = 87
|
||||||
|
ClientWidth = 245
|
||||||
|
TabOrder = 2
|
||||||
|
object LBRangeTo: TLabel
|
||||||
|
Left = 163
|
||||||
|
Height = 14
|
||||||
|
Top = 32
|
||||||
|
Width = 15
|
||||||
|
Caption = 'to:'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object LBCopies: TLabel
|
||||||
|
Left = 8
|
||||||
|
Height = 14
|
||||||
|
Top = 59
|
||||||
|
Width = 88
|
||||||
|
Caption = 'Number of &copies:'
|
||||||
|
FocusControl = EDCopies
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object RBAll: TRadioButton
|
||||||
|
Left = 8
|
||||||
|
Height = 17
|
||||||
|
Top = 3
|
||||||
|
Width = 61
|
||||||
|
Caption = '&All pages'
|
||||||
|
Checked = True
|
||||||
|
OnClick = RBAllClick
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object RBRange: TRadioButton
|
||||||
|
Left = 8
|
||||||
|
Height = 17
|
||||||
|
Top = 29
|
||||||
|
Width = 78
|
||||||
|
Caption = '&Range from:'
|
||||||
|
OnClick = RBAllClick
|
||||||
|
TabOrder = 1
|
||||||
|
TabStop = False
|
||||||
|
end
|
||||||
|
object RBSelectedOnly: TRadioButton
|
||||||
|
Left = 128
|
||||||
|
Height = 17
|
||||||
|
Top = 3
|
||||||
|
Width = 82
|
||||||
|
Caption = 'Selected &only'
|
||||||
|
OnClick = RBAllClick
|
||||||
|
TabOrder = 2
|
||||||
|
TabStop = False
|
||||||
|
end
|
||||||
|
object EDRangeFrom: TEdit
|
||||||
|
Left = 108
|
||||||
|
Height = 21
|
||||||
|
Top = 27
|
||||||
|
Width = 48
|
||||||
|
OnExit = EDTopExit
|
||||||
|
TabOrder = 3
|
||||||
|
end
|
||||||
|
object EDRangeTo: TEdit
|
||||||
|
Left = 193
|
||||||
|
Height = 21
|
||||||
|
Top = 27
|
||||||
|
Width = 48
|
||||||
|
OnExit = EDTopExit
|
||||||
|
TabOrder = 4
|
||||||
|
end
|
||||||
|
object EDCopies: TEdit
|
||||||
|
Left = 126
|
||||||
|
Height = 21
|
||||||
|
Top = 54
|
||||||
|
Width = 48
|
||||||
|
TabOrder = 5
|
||||||
|
end
|
||||||
|
object CBCollate: TCheckBox
|
||||||
|
Left = 179
|
||||||
|
Height = 17
|
||||||
|
Top = 56
|
||||||
|
Width = 51
|
||||||
|
Caption = 'Collate'
|
||||||
|
OnClick = CBPageNumbersClick
|
||||||
|
TabOrder = 6
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object BUPreview: TButton
|
||||||
|
Left = 8
|
||||||
|
Height = 25
|
||||||
|
Top = 325
|
||||||
|
Width = 75
|
||||||
|
Caption = 'Previe&w...'
|
||||||
|
OnClick = BUPreviewClick
|
||||||
|
TabOrder = 6
|
||||||
|
end
|
||||||
|
object BUOk: TButton
|
||||||
|
Left = 303
|
||||||
|
Height = 25
|
||||||
|
Top = 325
|
||||||
|
Width = 74
|
||||||
|
Caption = 'OK'
|
||||||
|
Default = True
|
||||||
|
ModalResult = 1
|
||||||
|
TabOrder = 7
|
||||||
|
end
|
||||||
|
object GBPrinter: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Height = 50
|
||||||
|
Top = 56
|
||||||
|
Width = 449
|
||||||
|
Caption = 'Printer settings'
|
||||||
|
ClientHeight = 32
|
||||||
|
ClientWidth = 445
|
||||||
|
TabOrder = 8
|
||||||
|
object LBPrinterName: TLabel
|
||||||
|
Left = 8
|
||||||
|
Height = 14
|
||||||
|
Top = 6
|
||||||
|
Width = 66
|
||||||
|
Caption = 'Printer name:'
|
||||||
|
FocusControl = EDCopies
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object CoBPrinterName: TComboBox
|
||||||
|
Left = 112
|
||||||
|
Height = 21
|
||||||
|
Top = 2
|
||||||
|
Width = 206
|
||||||
|
ItemHeight = 13
|
||||||
|
OnChange = EDTopExit
|
||||||
|
TabOrder = 0
|
||||||
|
Text = 'CoBPrinterName'
|
||||||
|
end
|
||||||
|
object BUConfigure: TButton
|
||||||
|
Left = 328
|
||||||
|
Height = 25
|
||||||
|
Top = 1
|
||||||
|
Width = 113
|
||||||
|
Caption = 'Configure...'
|
||||||
|
OnClick = BUConfigureClick
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object PSDMain: TPrinterSetupDialog
|
||||||
|
left = 376
|
||||||
|
top = 104
|
||||||
|
end
|
||||||
|
end
|
102
components/kcontrols/source/kprintsetup.lrs
Executable file
102
components/kcontrols/source/kprintsetup.lrs
Executable file
@ -0,0 +1,102 @@
|
|||||||
|
{ This is an automatically generated lazarus resource file }
|
||||||
|
|
||||||
|
LazarusResources.Add('TKPrintSetupForm','FORMDATA',[
|
||||||
|
'TPF0'#16'TKPrintSetupForm'#15'KPrintSetupForm'#4'Left'#3'F'#3#6'Height'#3'e'
|
||||||
|
+#1#3'Top'#3#161#1#5'Width'#3#208#1#13'ActiveControl'#7#7'EDTitle'#11'BorderS'
|
||||||
|
+'tyle'#7#8'bsDialog'#7'Caption'#6#10'Page setup'#12'ClientHeight'#3'e'#1#11
|
||||||
|
+'ClientWidth'#3#208#1#11'Font.Height'#2#245#9'Font.Name'#6#6'Tahoma'#12'OnCl'
|
||||||
|
+'oseQuery'#7#14'FormCloseQuery'#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7
|
||||||
|
+#11'FormDestroy'#6'OnShow'#7#8'FormShow'#8'Position'#7#14'poScreenCenter'#10
|
||||||
|
+'LCLVersion'#6#6'0.9.29'#0#9'TGroupBox'#13'GBFileToPrint'#4'Left'#2#8#6'Heig'
|
||||||
|
+'ht'#2'-'#3'Top'#2#8#5'Width'#3#193#1#7'Caption'#6#26'Title of printed docum'
|
||||||
|
+'ent:'#12'ClientHeight'#2#27#11'ClientWidth'#3#189#1#8'TabOrder'#2#0#0#5'TEd'
|
||||||
|
+'it'#7'EDTitle'#4'Left'#2#8#6'Height'#2#21#3'Top'#2#2#5'Width'#3#176#1#8'Tab'
|
||||||
|
+'Order'#2#0#4'Text'#6#7'EDTitle'#0#0#0#9'TGroupBox'#14'GBPrintOptions'#4'Lef'
|
||||||
|
+'t'#2#8#6'Height'#2'i'#3'Top'#2'm'#5'Width'#3#249#0#7'Caption'#6#14'Print op'
|
||||||
|
+'tions:'#12'ClientHeight'#2'W'#11'ClientWidth'#3#245#0#8'TabOrder'#2#1#0#6'T'
|
||||||
|
+'Label'#6'Label1'#4'Left'#3#162#0#6'Height'#2#14#3'Top'#2#4#5'Width'#2#30#7
|
||||||
|
+'Caption'#6#6'Scale:'#12'FocusControl'#7#12'EDPrintScale'#11'ParentColor'#8#0
|
||||||
|
+#0#9'TCheckBox'#11'CBFitToPage'#4'Left'#2#8#6'Height'#2#17#3'Top'#2#2#5'Widt'
|
||||||
|
+'h'#2'F'#7'Caption'#6#12'&Fit to page'#7'OnClick'#7#9'EDTopExit'#8'TabOrder'
|
||||||
|
+#2#0#0#0#9'TCheckBox'#13'CBPageNumbers'#4'Left'#2#8#6'Height'#2#17#3'Top'#2
|
||||||
|
+#21#5'Width'#2'V'#7'Caption'#6#13'Pa&ge numbers'#7'OnClick'#7#18'CBPageNumbe'
|
||||||
|
+'rsClick'#8'TabOrder'#2#1#0#0#9'TCheckBox'#10'CBUseColor'#4'Left'#2#8#6'Heig'
|
||||||
|
+'ht'#2#17#3'Top'#2'('#5'Width'#2'>'#7'Caption'#6#10'&Use color'#7'OnClick'#7
|
||||||
|
+#18'CBPageNumbersClick'#8'TabOrder'#2#2#0#0#5'TEdit'#12'EDPrintScale'#4'Left'
|
||||||
|
+#3#162#0#6'Height'#2#21#3'Top'#2#20#5'Width'#2'0'#6'OnExit'#7#9'EDTopExit'#8
|
||||||
|
+'TabOrder'#2#3#0#0#9'TCheckBox'#16'CBPaintSelection'#4'Left'#2#8#6'Height'#2
|
||||||
|
+#17#3'Top'#2';'#5'Width'#2'W'#7'Caption'#6#16'Pa&int selection'#7'OnClick'#7
|
||||||
|
+#18'CBPageNumbersClick'#8'TabOrder'#2#4#0#0#9'TCheckBox'#12'CBPrintTitle'#4
|
||||||
|
+'Left'#3#134#0#6'Height'#2#17#3'Top'#2';'#5'Width'#2'='#7'Caption'#6#12'Prin'
|
||||||
|
+'t tit&le'#7'OnClick'#7#18'CBPageNumbersClick'#8'TabOrder'#2#5#0#0#0#7'TButt'
|
||||||
|
+'on'#7'BUPrint'#4'Left'#2'Y'#6'Height'#2#25#3'Top'#3'E'#1#5'Width'#2'J'#7'Ca'
|
||||||
|
+'ption'#6#6'&Print'#7'OnClick'#7#12'BUPrintClick'#8'TabOrder'#2#4#0#0#7'TBut'
|
||||||
|
+'ton'#8'BUCancel'#4'Left'#3#127#1#6'Height'#2#25#3'Top'#3'E'#1#5'Width'#2'J'
|
||||||
|
+#6'Cancel'#9#7'Caption'#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#5#0#0#9
|
||||||
|
+'TGroupBox'#9'GBMargins'#4'Left'#3#8#1#6'Height'#3#211#0#3'Top'#2'm'#5'Width'
|
||||||
|
+#3#193#0#7'Caption'#6#8'Margins:'#12'ClientHeight'#3#193#0#11'ClientWidth'#3
|
||||||
|
+#189#0#8'TabOrder'#2#3#0#6'TLabel'#13'LBMarginUnits'#4'Left'#2#8#6'Height'#2
|
||||||
|
+#14#3'Top'#2#6#5'Width'#2'?'#7'Caption'#6#14'Margin u&nits:'#12'FocusControl'
|
||||||
|
+#7#14'CoBMarginUnits'#11'ParentColor'#8#0#0#6'TLabel'#6'LBLeft'#4'Left'#2#8#6
|
||||||
|
+'Height'#2#14#3'Top'#2'C'#5'Width'#2#24#7'Caption'#6#5'Left:'#12'FocusContro'
|
||||||
|
+'l'#7#6'EDLeft'#11'ParentColor'#8#0#0#6'TLabel'#7'LBRight'#4'Left'#2'f'#6'He'
|
||||||
|
+'ight'#2#14#3'Top'#2'C'#5'Width'#2#30#7'Caption'#6#6'Right:'#12'FocusControl'
|
||||||
|
+#7#7'EDRight'#11'ParentColor'#8#0#0#6'TLabel'#5'LBTop'#4'Left'#2#9#6'Height'
|
||||||
|
+#2#14#3'Top'#2'~'#5'Width'#2#23#7'Caption'#6#4'Top:'#12'FocusControl'#7#5'ED'
|
||||||
|
+'Top'#11'ParentColor'#8#0#0#6'TLabel'#8'LBBottom'#4'Left'#2'f'#6'Height'#2#14
|
||||||
|
+#3'Top'#2'p'#5'Width'#2''''#7'Caption'#6#7'Bottom:'#12'FocusControl'#7#8'EDB'
|
||||||
|
+'ottom'#11'ParentColor'#8#0#0#6'TLabel'#11'LBUnitsLeft'#4'Left'#2':'#6'Heigh'
|
||||||
|
+'t'#2#14#3'Top'#2'V'#5'Width'#2#8#7'Caption'#6#1'A'#11'ParentColor'#8#0#0#6
|
||||||
|
+'TLabel'#10'LBUnitsTop'#4'Left'#2':'#6'Height'#2#14#3'Top'#3#131#0#5'Width'#2
|
||||||
|
+#8#7'Caption'#6#1'A'#11'ParentColor'#8#0#0#6'TLabel'#12'LBUnitsRight'#4'Left'
|
||||||
|
+#3#152#0#6'Height'#2#14#3'Top'#2'V'#5'Width'#2#8#7'Caption'#6#1'A'#11'Parent'
|
||||||
|
+'Color'#8#0#0#6'TLabel'#13'LBUnitsBottom'#4'Left'#3#152#0#6'Height'#2#14#3'T'
|
||||||
|
+'op'#3#131#0#5'Width'#2#8#7'Caption'#6#1'A'#11'ParentColor'#8#0#0#9'TComboBo'
|
||||||
|
+'x'#14'CoBMarginUnits'#4'Left'#2#8#6'Height'#2#21#3'Top'#2#22#5'Width'#3#176
|
||||||
|
+#0#10'ItemHeight'#2#13#13'Items.Strings'#1#6#10'milimeters'#6#11'centimeters'
|
||||||
|
+#6#6'inches'#6#20'hundredths of inches'#0#8'OnChange'#7#20'CoBMarginUnitsCha'
|
||||||
|
+'nge'#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#0#0#0#9'TCheckBox'#15'CBMi'
|
||||||
|
+'rrorMargins'#4'Left'#2#8#6'Height'#2#17#3'Top'#3#162#0#5'Width'#2'V'#7'Capt'
|
||||||
|
+'ion'#6#15'&Mirror margins'#7'OnClick'#7#18'CBPageNumbersClick'#8'TabOrder'#2
|
||||||
|
+#5#0#0#5'TEdit'#6'EDLeft'#4'Left'#2#8#6'Height'#2#21#3'Top'#2'S'#5'Width'#2
|
||||||
|
+'0'#6'OnExit'#7#9'EDTopExit'#8'TabOrder'#2#1#0#0#5'TEdit'#7'EDRight'#4'Left'
|
||||||
|
+#2'f'#6'Height'#2#21#3'Top'#2'S'#5'Width'#2'0'#6'OnExit'#7#9'EDTopExit'#8'Ta'
|
||||||
|
+'bOrder'#2#2#0#0#5'TEdit'#5'EDTop'#4'Left'#2#8#6'Height'#2#21#3'Top'#3#128#0
|
||||||
|
+#5'Width'#2'0'#6'OnExit'#7#9'EDTopExit'#8'TabOrder'#2#3#0#0#5'TEdit'#8'EDBot'
|
||||||
|
+'tom'#4'Left'#2'f'#6'Height'#2#21#3'Top'#3#128#0#5'Width'#2'0'#6'OnExit'#7#9
|
||||||
|
+'EDTopExit'#8'TabOrder'#2#4#0#0#0#9'TGroupBox'#15'GBPageSelection'#4'Left'#2
|
||||||
|
,#8#6'Height'#2'i'#3'Top'#3#215#0#5'Width'#3#249#0#7'Caption'#6#15'Page selec'
|
||||||
|
+'tion:'#12'ClientHeight'#2'W'#11'ClientWidth'#3#245#0#8'TabOrder'#2#2#0#6'TL'
|
||||||
|
+'abel'#9'LBRangeTo'#4'Left'#3#163#0#6'Height'#2#14#3'Top'#2' '#5'Width'#2#15
|
||||||
|
+#7'Caption'#6#3'to:'#11'ParentColor'#8#0#0#6'TLabel'#8'LBCopies'#4'Left'#2#8
|
||||||
|
+#6'Height'#2#14#3'Top'#2';'#5'Width'#2'X'#7'Caption'#6#18'Number of &copies:'
|
||||||
|
+#12'FocusControl'#7#8'EDCopies'#11'ParentColor'#8#0#0#12'TRadioButton'#5'RBA'
|
||||||
|
+'ll'#4'Left'#2#8#6'Height'#2#17#3'Top'#2#3#5'Width'#2'='#7'Caption'#6#10'&Al'
|
||||||
|
+'l pages'#7'Checked'#9#7'OnClick'#7#10'RBAllClick'#5'State'#7#9'cbChecked'#8
|
||||||
|
+'TabOrder'#2#0#0#0#12'TRadioButton'#7'RBRange'#4'Left'#2#8#6'Height'#2#17#3
|
||||||
|
+'Top'#2#29#5'Width'#2'N'#7'Caption'#6#12'&Range from:'#7'OnClick'#7#10'RBAll'
|
||||||
|
+'Click'#8'TabOrder'#2#1#7'TabStop'#8#0#0#12'TRadioButton'#14'RBSelectedOnly'
|
||||||
|
+#4'Left'#3#128#0#6'Height'#2#17#3'Top'#2#3#5'Width'#2'R'#7'Caption'#6#14'Sel'
|
||||||
|
+'ected &only'#7'OnClick'#7#10'RBAllClick'#8'TabOrder'#2#2#7'TabStop'#8#0#0#5
|
||||||
|
+'TEdit'#11'EDRangeFrom'#4'Left'#2'l'#6'Height'#2#21#3'Top'#2#27#5'Width'#2'0'
|
||||||
|
+#6'OnExit'#7#9'EDTopExit'#8'TabOrder'#2#3#0#0#5'TEdit'#9'EDRangeTo'#4'Left'#3
|
||||||
|
+#193#0#6'Height'#2#21#3'Top'#2#27#5'Width'#2'0'#6'OnExit'#7#9'EDTopExit'#8'T'
|
||||||
|
+'abOrder'#2#4#0#0#5'TEdit'#8'EDCopies'#4'Left'#2'~'#6'Height'#2#21#3'Top'#2
|
||||||
|
+'6'#5'Width'#2'0'#8'TabOrder'#2#5#0#0#9'TCheckBox'#9'CBCollate'#4'Left'#3#179
|
||||||
|
+#0#6'Height'#2#17#3'Top'#2'8'#5'Width'#2'3'#7'Caption'#6#7'Collate'#7'OnClic'
|
||||||
|
+'k'#7#18'CBPageNumbersClick'#8'TabOrder'#2#6#0#0#0#7'TButton'#9'BUPreview'#4
|
||||||
|
+'Left'#2#8#6'Height'#2#25#3'Top'#3'E'#1#5'Width'#2'K'#7'Caption'#6#11'Previe'
|
||||||
|
+'&w...'#7'OnClick'#7#14'BUPreviewClick'#8'TabOrder'#2#6#0#0#7'TButton'#4'BUO'
|
||||||
|
+'k'#4'Left'#3'/'#1#6'Height'#2#25#3'Top'#3'E'#1#5'Width'#2'J'#7'Caption'#6#2
|
||||||
|
+'OK'#7'Default'#9#11'ModalResult'#2#1#8'TabOrder'#2#7#0#0#9'TGroupBox'#9'GBP'
|
||||||
|
+'rinter'#4'Left'#2#8#6'Height'#2'2'#3'Top'#2'8'#5'Width'#3#193#1#7'Caption'#6
|
||||||
|
+#16'Printer settings'#12'ClientHeight'#2' '#11'ClientWidth'#3#189#1#8'TabOrd'
|
||||||
|
+'er'#2#8#0#6'TLabel'#13'LBPrinterName'#4'Left'#2#8#6'Height'#2#14#3'Top'#2#6
|
||||||
|
+#5'Width'#2'B'#7'Caption'#6#13'Printer name:'#12'FocusControl'#7#8'EDCopies'
|
||||||
|
+#11'ParentColor'#8#0#0#9'TComboBox'#14'CoBPrinterName'#4'Left'#2'p'#6'Height'
|
||||||
|
+#2#21#3'Top'#2#2#5'Width'#3#206#0#10'ItemHeight'#2#13#8'OnChange'#7#9'EDTopE'
|
||||||
|
+'xit'#8'TabOrder'#2#0#4'Text'#6#14'CoBPrinterName'#0#0#7'TButton'#11'BUConfi'
|
||||||
|
+'gure'#4'Left'#3'H'#1#6'Height'#2#25#3'Top'#2#1#5'Width'#2'q'#7'Caption'#6#12
|
||||||
|
+'Configure...'#7'OnClick'#7#16'BUConfigureClick'#8'TabOrder'#2#1#0#0#0#19'TP'
|
||||||
|
+'rinterSetupDialog'#7'PSDMain'#4'left'#3'x'#1#3'top'#2'h'#0#0#0
|
||||||
|
]);
|
369
components/kcontrols/source/kprintsetup.pas
Executable file
369
components/kcontrols/source/kprintsetup.pas
Executable file
@ -0,0 +1,369 @@
|
|||||||
|
{ @abstract(This unit contains page setup dialog.)
|
||||||
|
@author(Tomas Krysl (tk@tkweb.eu))
|
||||||
|
@created(18 Sep 2009)
|
||||||
|
@lastmod(15 Oct 2009)
|
||||||
|
|
||||||
|
Copyright � 2009 Tomas Krysl (tk@@tkweb.eu)<BR><BR>
|
||||||
|
|
||||||
|
<B>License:</B><BR>
|
||||||
|
This code is distributed as a freeware. You are free to use it as part
|
||||||
|
of your application for any purpose including freeware, commercial and
|
||||||
|
shareware applications. The origin of this source code must not be
|
||||||
|
misrepresented; you must not claim your authorship. You may modify this code
|
||||||
|
solely for your own purpose. Please feel free to contact the author if you
|
||||||
|
think your changes might be useful for other users. You may distribute only
|
||||||
|
the original package. The author accepts no liability for any damage
|
||||||
|
that may result from using this code. }
|
||||||
|
|
||||||
|
unit KPrintSetup;
|
||||||
|
|
||||||
|
{$include kcontrols.inc}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
{$IFDEF FPC}
|
||||||
|
LCLType, LCLIntf, LResources, PrintersDlgs,
|
||||||
|
{$ELSE}
|
||||||
|
Windows, Messages, Dialogs,
|
||||||
|
{$ENDIF}
|
||||||
|
SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
StdCtrls, ExtCtrls, KControls, KPrintPreview;
|
||||||
|
|
||||||
|
resourcestring
|
||||||
|
sPrinterSetup = 'Printer setup';
|
||||||
|
sAllPages = 'All pages (%d)';
|
||||||
|
sErrPrintSetup = 'Print setup error';
|
||||||
|
sErrNoPrinterInstalled = 'No printer is installed on this computer.';
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
{ TKPrintSetupForm }
|
||||||
|
|
||||||
|
TKPrintSetupForm = class(TForm)
|
||||||
|
BUConfigure: TButton;
|
||||||
|
CoBPrinterName: TComboBox;
|
||||||
|
EDTitle: TEdit;
|
||||||
|
GBFileToPrint: TGroupBox;
|
||||||
|
GBPrinter: TGroupBox;
|
||||||
|
GBPrintOptions: TGroupBox;
|
||||||
|
LBPrinterName: TLabel;
|
||||||
|
BUPrint: TButton;
|
||||||
|
BUCancel: TButton;
|
||||||
|
CBFitToPage: TCheckBox;
|
||||||
|
CBPageNumbers: TCheckBox;
|
||||||
|
CBUseColor: TCheckBox;
|
||||||
|
GBMargins: TGroupBox;
|
||||||
|
CoBMarginUnits: TComboBox;
|
||||||
|
LBMarginUnits: TLabel;
|
||||||
|
CBMirrorMargins: TCheckBox;
|
||||||
|
GBPageSelection: TGroupBox;
|
||||||
|
RBAll: TRadioButton;
|
||||||
|
RBRange: TRadioButton;
|
||||||
|
RBSelectedOnly: TRadioButton;
|
||||||
|
LBRangeTo: TLabel;
|
||||||
|
LBCopies: TLabel;
|
||||||
|
EDLeft: TEdit;
|
||||||
|
LBLeft: TLabel;
|
||||||
|
LBRight: TLabel;
|
||||||
|
EDRight: TEdit;
|
||||||
|
EDTop: TEdit;
|
||||||
|
LBTop: TLabel;
|
||||||
|
EDBottom: TEdit;
|
||||||
|
LBBottom: TLabel;
|
||||||
|
EDRangeFrom: TEdit;
|
||||||
|
EDRangeTo: TEdit;
|
||||||
|
EDCopies: TEdit;
|
||||||
|
Label1: TLabel;
|
||||||
|
EDPrintScale: TEdit;
|
||||||
|
LBUnitsLeft: TLabel;
|
||||||
|
LBUnitsTop: TLabel;
|
||||||
|
LBUnitsRight: TLabel;
|
||||||
|
LBUnitsBottom: TLabel;
|
||||||
|
BUPreview: TButton;
|
||||||
|
CBPaintSelection: TCheckBox;
|
||||||
|
BUOk: TButton;
|
||||||
|
CBPrintTitle: TCheckBox;
|
||||||
|
CBCollate: TCheckBox;
|
||||||
|
PSDMain: TPrinterSetupDialog;
|
||||||
|
procedure BUConfigureClick(Sender: TObject);
|
||||||
|
procedure CoBMarginUnitsChange(Sender: TObject);
|
||||||
|
procedure RBAllClick(Sender: TObject);
|
||||||
|
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||||
|
procedure BUPreviewClick(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure EDTopExit(Sender: TObject);
|
||||||
|
procedure CBPageNumbersClick(Sender: TObject);
|
||||||
|
procedure BUPrintClick(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
FPrevSetup: TKPrintPageSetup;
|
||||||
|
FPageSetup: TKPrintPageSetup;
|
||||||
|
FPreviewForm: TKPrintPreviewForm;
|
||||||
|
FPreviewCreated: Boolean;
|
||||||
|
FSelAvail: Boolean;
|
||||||
|
FUpdateLock: Boolean;
|
||||||
|
procedure SetPageSetup(const Value: TKPrintPageSetup);
|
||||||
|
procedure SetPreviewForm(const Value: TKPrintPreviewForm);
|
||||||
|
protected
|
||||||
|
procedure PageSetupToForm; virtual;
|
||||||
|
procedure FormToPageSetup; virtual;
|
||||||
|
procedure ValidateForm;
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
property PageSetup: TKPrintPageSetup read FPageSetup write SetPageSetup;
|
||||||
|
property PreviewForm: TKPrintPreviewForm read FPreviewForm write SetPreviewForm;
|
||||||
|
property SelAvail: Boolean read FSelAvail write FSelAvail;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
Printers, KFunctions;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FPageSetup := nil;
|
||||||
|
FPrevSetup := TKPrintPageSetup.Create(nil);
|
||||||
|
FPreviewForm := nil;
|
||||||
|
FPreviewCreated := False;
|
||||||
|
{$IFDEF FPC}
|
||||||
|
PSDMain.Title := sPrinterSetup;
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.FormDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if FPreviewCreated then
|
||||||
|
begin
|
||||||
|
FPreviewForm.Free;
|
||||||
|
FPreviewCreated := False;
|
||||||
|
end;
|
||||||
|
FPrevSetup.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
PageSetupToForm;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.PageSetupToForm;
|
||||||
|
function FmtMargin(Value: Double): string;
|
||||||
|
const
|
||||||
|
Fmt = '%.*f';
|
||||||
|
var
|
||||||
|
Precision: Integer;
|
||||||
|
begin
|
||||||
|
case FPageSetup.Units of
|
||||||
|
puCM: Precision := 1;
|
||||||
|
puMM: Precision := 0;
|
||||||
|
puInch: Precision := 2;
|
||||||
|
else
|
||||||
|
Precision := 0;
|
||||||
|
end;
|
||||||
|
Result := Format(Fmt, [Precision, Value]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function FmtUnit: string;
|
||||||
|
begin
|
||||||
|
case FPageSetup.Units of
|
||||||
|
puMM: Result := 'mm';
|
||||||
|
puInch: Result := '"';
|
||||||
|
puHundredthInch: Result := '".100';
|
||||||
|
else
|
||||||
|
Result := 'cm';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
var
|
||||||
|
S: string;
|
||||||
|
begin
|
||||||
|
if Assigned(FPageSetup) then
|
||||||
|
begin
|
||||||
|
FUpdateLock := True;
|
||||||
|
try
|
||||||
|
CBCollate.Checked := poCollate in FPageSetup.Options;
|
||||||
|
CBFitToPage.Checked := poFitToPage in FPageSetup.Options;
|
||||||
|
CBPageNumbers.Checked := poPageNumbers in FPageSetup.Options;
|
||||||
|
CBUseColor.Checked := poUseColor in FPageSetup.Options;
|
||||||
|
CBPaintSelection.Checked := poPaintSelection in FPageSetup.Options;
|
||||||
|
CBPrintTitle.Checked := poTitle in FPageSetup.Options;
|
||||||
|
CBMirrorMargins.Checked := poMirrorMargins in FPageSetup.Options;
|
||||||
|
CoBPrinterName.Items.Assign(Printer.Printers);
|
||||||
|
CoBPrinterName.ItemIndex := CoBPrinterName.Items.IndexOf(FPageSetup.PrinterName);
|
||||||
|
if CoBPrinterName.ItemIndex < 0 then CoBPrinterName.ItemIndex := Printer.PrinterIndex;
|
||||||
|
RBSelectedOnly.Enabled := FPageSetup.SelAvail;
|
||||||
|
if RBSelectedOnly.Enabled and FSelAvail then
|
||||||
|
RBSelectedOnly.Checked := True
|
||||||
|
else if FPageSetup.Range = prRange then
|
||||||
|
RBRange.Checked := True
|
||||||
|
else
|
||||||
|
RBAll.Checked := True;
|
||||||
|
RBAll.Caption := Format(sAllPages, [FPageSetup.PageCount]);
|
||||||
|
EDRangeFrom.Enabled := RBRange.Checked;
|
||||||
|
EDRangeFrom.Text := IntToStr(FPageSetup.StartPage);
|
||||||
|
EDRangeTo.Enabled := RBRange.Checked;
|
||||||
|
EDRangeTo.Text := IntToStr(FPageSetup.EndPage);
|
||||||
|
EDCopies.Text := IntToStr(FPageSetup.Copies);
|
||||||
|
EDPrintScale.Enabled := not CBFitTopage.Checked;
|
||||||
|
EDPrintScale.Text := IntToStr(FPageSetup.Scale);
|
||||||
|
EDTitle.Text := FPageSetup.Title;
|
||||||
|
CoBMarginUnits.ItemIndex := Integer(FPageSetup.Units);
|
||||||
|
S := FmtUnit;
|
||||||
|
EDBottom.Text := FmtMargin(FPageSetup.MarginBottom); LBUnitsBottom.Caption := S;
|
||||||
|
EDLeft.Text := FmtMargin(FPageSetup.MarginLeft); LBUnitsLeft.Caption := S;
|
||||||
|
EDRight.Text := FmtMargin(FPageSetup.MarginRight); LBUnitsRight.Caption := S;
|
||||||
|
EDTop.Text := FmtMargin(FPageSetup.MarginTop); LBUnitsTop.Caption := S;
|
||||||
|
finally
|
||||||
|
FUpdateLock := False;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.FormToPageSetup;
|
||||||
|
var
|
||||||
|
Options: TKPrintOptions;
|
||||||
|
begin
|
||||||
|
if Assigned(FPageSetup) and not FUpdateLock then
|
||||||
|
begin
|
||||||
|
FPageSetup.LockUpdate;
|
||||||
|
try
|
||||||
|
Options := [];
|
||||||
|
if CBCollate.Checked then Include(Options, poCollate);
|
||||||
|
if CBFitToPage.Checked then Include(Options, poFitToPage);
|
||||||
|
if CBPageNumbers.Checked then Include(Options, poPageNumbers);
|
||||||
|
if CBUseColor.Checked then Include(Options, poUseColor);
|
||||||
|
if CBPaintSelection.Checked then Include(Options, poPaintSelection);
|
||||||
|
if CBPrintTitle.Checked then Include(Options, poTitle);
|
||||||
|
if CBMirrorMargins.Checked then Include(Options, poMirrorMargins);
|
||||||
|
FPageSetup.PrinterName := CoBPrinterName.Text;
|
||||||
|
FPageSetup.Options := Options;
|
||||||
|
if RBSelectedOnly.Checked then FPageSetup.Range := prSelectedOnly
|
||||||
|
else if RBRange.Checked then FPageSetup.Range := prRange
|
||||||
|
else FPageSetup.Range := prAll;
|
||||||
|
FPageSetup.StartPage := StrToIntDef(EDRangeFrom.Text, FPageSetup.StartPage);
|
||||||
|
FPageSetup.EndPage := StrToIntDef(EDRangeTo.Text, FPageSetup.EndPage);
|
||||||
|
FPageSetup.Copies := StrToIntDef(EDCopies.Text, FPageSetup.Copies);
|
||||||
|
FPageSetup.Scale := StrToIntDef(EDPrintScale.Text, FPageSetup.Scale);
|
||||||
|
FPageSetup.Title := EDTitle.Text;
|
||||||
|
FPageSetup.Units := TKPrintUnits(CoBMarginUnits.ItemIndex);
|
||||||
|
FPageSetup.MarginBottom := StrToFloatDef(AdjustDecimalSeparator(EDBottom.Text), FPageSetup.MarginBottom);
|
||||||
|
FPageSetup.MarginLeft := StrToFloatDef(AdjustDecimalSeparator(EDLeft.Text), FPageSetup.MarginLeft);
|
||||||
|
FPageSetup.MarginRight := StrToFloatDef(AdjustDecimalSeparator(EDRight.Text), FPageSetup.MarginRight);
|
||||||
|
FPageSetup.MarginTop := StrToFloatDef(AdjustDecimalSeparator(EDTop.Text), FPageSetup.MarginTop);
|
||||||
|
finally
|
||||||
|
FPageSetup.UnlockUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.BUPrintClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FormToPageSetup;
|
||||||
|
FPageSetup.PrintOut;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.BUConfigureClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FormToPageSetup;
|
||||||
|
try
|
||||||
|
if PSDMain.Execute then
|
||||||
|
begin
|
||||||
|
FPageSetup.LockUpdate;
|
||||||
|
try
|
||||||
|
FPageSetup.PrinterName := '';
|
||||||
|
finally
|
||||||
|
FPageSetup.UnlockUpdate;
|
||||||
|
end;
|
||||||
|
PageSetupToForm;
|
||||||
|
end;
|
||||||
|
except
|
||||||
|
MessageBox(Handle, PChar(sErrNoPrinterInstalled), PChar(sErrPrintSetup), MB_OK);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.EDTopExit(Sender: TObject);
|
||||||
|
begin
|
||||||
|
ValidateForm;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.CoBMarginUnitsChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if Assigned(FPageSetup) then
|
||||||
|
begin
|
||||||
|
FPageSetup.Units := TKPrintUnits(CoBMarginUnits.ItemIndex);
|
||||||
|
PageSetupToForm;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.CBPageNumbersClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FormToPageSetup;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.RBAllClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FSelAvail := RBSelectedOnly.Checked;
|
||||||
|
ValidateForm;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.SetPageSetup(const Value: TKPrintPageSetup);
|
||||||
|
begin
|
||||||
|
if Value <> FPageSetup then
|
||||||
|
begin
|
||||||
|
FPrevSetup.Assign(Value);
|
||||||
|
FPageSetup := Value;
|
||||||
|
PageSetupToForm;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.SetPreviewForm(const Value: TKPrintPreviewForm);
|
||||||
|
begin
|
||||||
|
if Value <> FPreviewForm then
|
||||||
|
begin
|
||||||
|
if FPreviewCreated then
|
||||||
|
begin
|
||||||
|
FPreviewForm.Free;
|
||||||
|
FPreviewCreated := False;
|
||||||
|
end;
|
||||||
|
FPreviewForm := Value;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.ValidateForm;
|
||||||
|
begin
|
||||||
|
FormToPageSetup;
|
||||||
|
PageSetupToForm;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.FormCloseQuery(Sender: TObject;
|
||||||
|
var CanClose: Boolean);
|
||||||
|
begin
|
||||||
|
if FPreviewCreated then
|
||||||
|
FPreviewForm.Hide;
|
||||||
|
if ModalResult = mrOk then
|
||||||
|
FormToPageSetup
|
||||||
|
else if Assigned(FPageSetup) then
|
||||||
|
FPageSetup.Assign(FPrevSetup);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TKPrintSetupForm.BUPreviewClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
ValidateForm;
|
||||||
|
if FPreviewForm = nil then
|
||||||
|
begin
|
||||||
|
FPreviewForm := TKPrintPreviewForm.Create(nil);
|
||||||
|
FPreviewCreated := True;
|
||||||
|
end;
|
||||||
|
FPreviewForm.Preview.Control := FPageSetup.Control;
|
||||||
|
FPreviewForm.Show;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{$IFDEF FPC}
|
||||||
|
initialization
|
||||||
|
{$i kprintsetup.lrs}
|
||||||
|
{$ELSE}
|
||||||
|
{$R *.dfm}
|
||||||
|
{$ENDIF}
|
||||||
|
end.
|
96
components/kcontrols/source/kwidewinprocs.pas
Executable file
96
components/kcontrols/source/kwidewinprocs.pas
Executable file
@ -0,0 +1,96 @@
|
|||||||
|
{ @abstract(This unit contains Unicode equivalents of ANSI Win32 API functions
|
||||||
|
not supported in Win9X without Unicode Layer for Win9X)
|
||||||
|
@author(Tomas Krysl (tk@tkweb.eu))
|
||||||
|
@created(10 Jun 2008)
|
||||||
|
@lastmod(14 Oct 2009)
|
||||||
|
|
||||||
|
Copyright � 2008 Tomas Krysl (tk@@tkweb.eu)<BR><BR>
|
||||||
|
|
||||||
|
<B>License:</B><BR>
|
||||||
|
This code is distributed as a freeware. You are free to use it as part
|
||||||
|
of your application for any purpose including freeware, commercial and
|
||||||
|
shareware applications. The origin of this source code must not be
|
||||||
|
misrepresented; you must not claim your authorship. You may modify this code
|
||||||
|
solely for your own purpose. Please feel free to contact the author if you
|
||||||
|
think your changes might be useful for other users. You may distribute only
|
||||||
|
the original package. The author accepts no liability for any damage
|
||||||
|
that may result from using this code. }
|
||||||
|
|
||||||
|
unit KWideWinProcs;
|
||||||
|
|
||||||
|
{$include kcontrols.inc}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
{$IFDEF USE_WIDEWINPROCS}
|
||||||
|
|
||||||
|
type
|
||||||
|
{ Procedural type for @link(TKWideWinProcs.CompareString). }
|
||||||
|
TCompareStringW = function(Locale, dwCmpFlags: Cardinal; lpString1: PWideChar; cchCount1:
|
||||||
|
Integer; lpString2: PWideChar; cchCount2: Integer): Integer; stdcall;
|
||||||
|
|
||||||
|
{ Procedural type for @link(TKWideWinProcs.LStrLenW). }
|
||||||
|
TLStrLenW = function(lpString: PWideChar): Integer;
|
||||||
|
|
||||||
|
{ Unicode equivalents of ANSI Win32 API functions not available in Win9X
|
||||||
|
without Unicode Layer for Win9X. Only those used in KControls. }
|
||||||
|
TKWideWinProcs = class(TObject)
|
||||||
|
private
|
||||||
|
FCompareStringW: TCompareStringW;
|
||||||
|
FLStrLenW: TLStrLenW;
|
||||||
|
public
|
||||||
|
{ Creates the instance. }
|
||||||
|
constructor Create;
|
||||||
|
{ See MSDN for help. }
|
||||||
|
function CompareString(Locale, dwCmpFlags: Cardinal; lpString1: PWideChar;
|
||||||
|
cchCount1: Integer; lpString2: PWideChar; cchCount2: Integer): Integer;
|
||||||
|
{ See MSDN for help. }
|
||||||
|
function LStrLenW(lpString: PWideChar): Integer;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
WideWinProcs: TKWideWinProcs;
|
||||||
|
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$IFDEF USE_WIDEWINPROCS}
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, KFunctions;
|
||||||
|
|
||||||
|
{ TWideWinProcs }
|
||||||
|
|
||||||
|
constructor TKWideWinProcs.Create;
|
||||||
|
begin
|
||||||
|
FCompareStringW := GetProcAddress(GetModuleHandle('kernel32.dll'), 'CompareStringW');
|
||||||
|
FLStrLenW := GetProcAddress(GetModuleHandle('kernel32.dll'), 'lstrlenW');
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TKWideWinProcs.CompareString(Locale, dwCmpFlags: Cardinal;
|
||||||
|
lpString1: PWideChar; cchCount1: Integer; lpString2: PWideChar;
|
||||||
|
cchCount2: Integer): Integer;
|
||||||
|
begin
|
||||||
|
if Assigned(FCompareStringW) then
|
||||||
|
Result := FCompareStringW(Locale, dwCmpFlags, lpString1, cchCount1,
|
||||||
|
lpString2, cchCount2)
|
||||||
|
else
|
||||||
|
Result := CompareStringA(Locale, dwCmpFlags, PAnsiChar(WideCharToAnsiString(lpString1)),
|
||||||
|
cchCount1, PAnsiChar(WideCharToAnsiString(lpString2)), cchCount2);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TKWideWinProcs.LStrLenW(lpString: PWideChar): Integer;
|
||||||
|
begin
|
||||||
|
if Assigned(FLStrLenW) then
|
||||||
|
Result := FLStrLenW(lpString)
|
||||||
|
else
|
||||||
|
Result := LStrLenA(PAnsiChar(WideCharToAnsiString(lpString)));
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
WideWinProcs := TKWideWinProcs.Create;
|
||||||
|
finalization
|
||||||
|
WideWinProcs.Free;
|
||||||
|
{$ENDIF}
|
||||||
|
end.
|
BIN
components/kcontrols/source/xpman.res
Executable file
BIN
components/kcontrols/source/xpman.res
Executable file
Binary file not shown.
Reference in New Issue
Block a user