Sign in Join
Wiki copytemporary

KControls: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: KControls

OldNewLine
1+# About
2+
3+**KControls** is a set of components. Main components: KGrid/KDbGrid, KMemo, KHexEditor. Almost all controls are cross-IDE compatible (Delphi/C++Builder, Lazarus) and cross-platform compatible in Lazarus. **KControls** does **not** support RightToLeft languages.
4+
5+# Download
6+
7+Repository: <https://github.com/kryslt/KControls/>
8+
9+# All controls
10+
11+- TKGrid - powerfull control for working with table data, replacement for TStringGrid and TDrawGrid - full compatibility and lot of new features
12+- TKDBGrid - control for working with database tables, possible replacement for TDBGrid
13+- TKMemo - native replacement for TMemo/TRichEdit - written from scratch, great features, full RTF support etc.
14+- TKHexEditor - powerfull control for binary file editing
15+- TKIcon - powerfull component for working with icons and cursors (files *.ico and *.cur, works only on Windows)
16+- TKPrintPreview - control for displaying print preview, it is part of KControls built in printing capabilities, every visual control supports printing and previewing
17+- TKPrintPreviewDialog - nonvisual component - dialog - for an easy print preview implementation
18+- TKPrintSetupDialog - nonvisual component - dialog - for an easy implementation of printing preferences
19+- TKCustomControl - a base for your visual controls, for which you want to implement e.g. printing and previewing capabilities in Delphi or Lazarus (just 2 short functions to write).
20+- TKNumberEdit - edit control to input numbers in various formats
21+- TKFileNameEdit - edit control to input file names
22+- TKLinkLabel - label to show clickable link
23+- TKGradientLabel - label with gradient background
24+- TKLog - component for event logging
25+- TKPercentProgressBar - custom drawn progress bar which shows actual percentage of the progress
26+- TKBrowseFolderDialog - wrapper for the standard Windows API browse for folder dialog (works only on Windows)
27+- TKBitBtn - like TBitBtn - draws PNG and alpha channel correctly in Delphi, has WordWrap property, works in Lazarus as well
28+- TKColorButton - just another button to pick color
29+
30+# KGrid control
31+
32+There were several reasons to write an own grid component for Delphi:
33+
34+- Borland's inoperability to fix reported bugs (this applied not only for TStringGrid)
35+- wanted different editing controls like TEdit, TComboBox, TCheckBox to be inserted in cells
36+- wanted the last column to be aligned within the client area edge
37+- wanted a slightly better behavior while moving or resizing columns or rows
38+
39+Now KGrid has a lot of features and is becoming a versatile solution for table visualisations, table data modifications and creating table reports under Delphi and Lazarus IDEs.
40+
41+<figure>
42+<img src="kgrid.png" title="kgrid.png" />
43+<figcaption>kgrid.png</figcaption>
44+</figure>
45+
46+# KMemo control
47+
48+Unlike the rich edit components known to Lazarus users (lzRichedit or RichMemo), KMemo is not bound to external rich edit libraries, was written from scratch and uses its native powerful word processor.
49+
50+<figure>
51+<img src="kmemo.png" title="kmemo.png" />
52+<figcaption>kmemo.png</figcaption>
53+</figure>
54+
55+The features:
56+
57+- text formatting - font colors, styles, text backgrounds, capitals, small capitals, subscript, superscript etc.
58+- paragraph formatting - left, center, right alignments, top and bottom indents, first line indents, fully automated bullets and numbering even with multilevel heading numbering (MS Word 97+ style), paragraph backgrounds, paragraph borders, selectable word wrap mode etc.
59+- positioned objects (images, text containers) with absolute or relative positioning, different modes of text floating (none, both sides, left or right side)
60+- advanced table support with full row/cell formatting and even with cell merging support, so even very complex tables created with MS Word can be loaded, saved, viewed and edited in KMemo
61+- document background image/color
62+- full load/save support from/to Rich Text Format featuring all supported text/paragraph styles, tables, positioned objects, etc. Furthermore, these load/save routines support files and streams, they support saving/loading only part of a document, so e.g. append or insert one RTF document into other is easy to implement.
63+- clipboard operations (cut/copy/paste) with full RTF support, working hopefully on every OS
64+- print/preview support
65+- KMemoFrame featuring a simple editor including basic dialogs for text, paragraph and numbering formatting, easily embeddable to existing applications without coding
66+- user manual showing the basic features and two simple demos
67+
68+# License
69+
70+KControls is provided free on 'as is' basis, with complete source code. However, it is licensed software. More information about license can be found in source file headers.
71+
72+# Notes
73+
74+All controls support Delphi and Lazarus IDEs fully. But there are some exceptions: TKIcon and TKBrowseFolderDialog work only on Windows and printing and previewing might not work in some widgetsets in Lazarus.
75+
76+## See also
77+
78+- [[KControls/KMemo notes]] - some notes about using KMemo, one of the components in KControls.
79+- [[RichMemo/Features]] - comments on some features in progress.
80+- [MyNotex](https://sites.google.com/site/mynotex/) - application which uses modified by Massimo Nardello RichMemo package on Linux-GTK2.
81+- [[TMemo]]
82+- [[RichMemo]]
83+
84+---
85+*From the Free Pascal wiki, page "KControls", as it stood on 2022-03-02 after a change by Alextp, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
86+Category: Components
87+Category: Lazarus-CCR
88+Category: Packages

Back to history