Software
Delphi and Lazarus
Trekking and Events
Blog and Forum
Čeština English
Main menu
Delphi and Lazarus
Top downloads
 

KControls Development Suite

KControls is a freeware distribution, a flagship of tkweb. It contains all of my published components for Delphi and Lazarus. All controls have been written with the aim to become both cross-IDE compatible (Delphi/C++Builder VCL and Lazarus LCL) and cross-platform compatible in Lazarus. There are some exceptions to this scheme, see below.

Components included
TKGrid - powerfull control for working with table data, replacement for TStringGrid and TDrawGrid - full compatibility and lot of new features
TKDBGrid - control for working with database tables, possible replacement for TDBGrid (not for every case)
TKHexEditor - powerfull control for binary file editing
TKIcon - powerfull component for working with icons and cursors (files *.ico and *.cur, works only on Windows)
TKPrintPreview - control for displaying print preview, it is part of KControls built in printing capabilities, every visual control supports printing and previewing
TKPrintPreviewDialog - nonvisual component - dialog - for an easy print preview implementation
TKPrintSetupDialog - nonvisual component - dialog - for an easy implementation of printing preferences
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).
TKNumberEdit - edit control to input numbers in various formats
TKFileNameEdit - edit control to input file names
TKLinkLabel - label to show clickable link
TKGradientLabel - label with gradient background
TKLog - component for event logging
TKPercentProgressBar - custom drawn progress bar which shows actual percentage of the progress
TKBrowseFolderDialog - wrapper for the standard Windows API browse for folder dialog (works only on Windows)
TKBitBtn - like TBitBtn - draws PNG and alpha channel correctly in Delphi, has WordWrap property, works in Lazarus as well
TKColorButton - just another button to pick color
TKMemo - native replacement for TMemo/TRichEdit - aim is to make cross-IDE compatible, easy to use richedit control, early alpha state, you may take a look at the demo but do not use yet!

Notes

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.

All controls support Delphi and Lazarus IDEs fully. But there are some exceptions: TKIcon and TKBrowseFolderDialog work only on Windows and printing and previewing does not work in older versions of Lazarus (for GTKx at all).

TKDBGrid development temporarilly stopped. I am not working with databases in Delphi or Lazarus anymore, so please take this control as is. Or you may improve it and send me a patch.

Note about cross-platform development in Delphi: I strongly disagree with the way Embarcadero took with the FMX library to allow cross-platform development, so FMX will never be supported. As Lazarus has become very good IDE, in many aspects better than Delphi, I recommend you try it if you need cross platform features.

Screenshots (click the images to enlarge)

 
KControls components (Windows Vista)KControls components (Windows XP/GTK2runtine)

Downloading KControls

FileVersionNumber of
downloads
Available for:Changes
kcontrols_1.5.zip1.5169Delphi 6+,Lazarus 1.2.2+, C++Builder 2007+new components TKMemo, TKBitBtn, TKColorButton, some bugfixes...
kcontrols_1.4.zip1.4852Delphi 6+, Lazarus 0.9.29(SVN#21827)+, C++Builder 2007+support for RAD Studio XE3-XE5, new components etc.
kcontrols_1.3.zip1.32615Delphi 6+, Lazarus 0.9.29(SVN#21827)+, C++Builder 2007+support for RAD Studio XE2
kcontrols_1.2.zip1.22981Delphi 6+, Lazarus 0.9.29(SVN#21827)+, C++Builder 2007+cumulative update (KGrid 1.7, KHexEditor 1.5, KIcon 2.2)
kcontrols_1.1.zip1.11022Delphi 6+, Lazarus 0.9.29(SVN#21827)+, C++Builder 2007+cumulative update (KGrid 1.6, KHexEditor 1.4, KIcon 2.1)
kcontrols_1.0.zip1.01582Delphi 6+,Lazarus 0.9.29(SVN#21827)+initial release (KGrid 1.5, KHexEditor 1.4, KIcon 1.9)
 

Home | Software | Delphi and Lazarus | Trekking, travelling | Sport | Others | Blog

Search in comments: 
inserted: 2014-07-18 10:48:26   Reply...
From: sky
I'd be VERY interested in a Columns editor as well.
inserted: 2014-07-18 00:09:26   Reply...
From: slaca
Do you plan on supporting Rad XE6? Currently package not installable. Thanks
inserted: 2014-07-14 11:18:41   Reply...
From: djleshouze
how I can use the PrintPreview component ? do you have any examples ?
inserted: 2014-06-30 12:15:51   Reply...
From: JD
I can't install the KControls 1.4 in Linux. The previous version (Version 1.3) worked though.
inserted: 2014-07-06 10:59:13   Reply...
From: tk
Will be fixed soon.
inserted: 2014-07-07 01:37:14   Reply...
From: tk
Should be fixed now.
inserted: 2014-06-10 10:03:53   Reply...
From: Guillaume
I'm using Lazarus 1.2.2 fpc 2.6.4 (linux) Impossible to install KControls 1.4 error: klog.pas unknow "Windows" Could you fixe it, thank you
inserted: 2014-07-06 10:59:05   Reply...
From: tk
Will be fixed soon.
inserted: 2014-07-07 01:37:55   Reply...
From: tk
Should be fixed in rev. 1.5
inserted: 2014-07-10 11:22:13   Reply...
From: Guillaume
Thank you very much
inserted: 2013-10-12 22:07:23   Reply...
From: kloje
How can I implement alternate row colors in TKDBGrid?
inserted: 2013-09-19 11:36:34   Reply...
From: ig
Can you tell about alignment in cells of kdbgrid?
inserted: 2014-06-05 14:47:38   Reply...
From: heru sudarto
{ answering this question i've tried using this trick to implement onDrawCell event. } procedure TForm1.MyGridDrawCell(Sender: TObject; ACol, ARow: Integer; R: TRect; State: TKGridDrawState); begin (Sender as TKGrid).Cell[ACol, ARow].ApplyDrawProperties; if (ARow<=((Sender as TKGrid).FixedRows)) then begin (Sender as TKGrid).CellPainter.Canvas.Font.Style:=[fsBold]; (Sender as TKGrid).CellPainter.HAlign:=halCenter; end; (Sender as TKGrid).CellPainter.DefaultDraw; end; { on 7:46 PM 5 June 2014, surabaya indonesia email herusudarto@yahoo.com }
inserted: 2013-09-13 00:56:13   Reply...
From: ivan
having problems setting the background color of individual cell in the oncelldraw event. do you have a example?
inserted: 2013-09-25 17:34:04   Reply...
From: xy
Here is an example (KGriddemo) procedure TForm1.KGrid3DrawCell(Sender: TObject; ACol, ARow: Integer; R: TRect; State: TKGridDrawState); begin if aRow = 4 then KGrid3.CellPainter.Canvas.brush.color:= $00D4FF7F; KGrid3.CellPainter.Text := A[ACol, ARow]; KGrid3.CellPainter.Attributes := [taEndEllipsis]; KGrid3.CellPainter.DefaultDraw; end;
inserted: 2013-02-20 15:15:02   Reply...
From: User2
Hello everybody,I am searching for the Delphi that can run on the Windows 7 OS.
inserted: 2013-01-17 11:12:25   Reply...
From: Dibo
Hi, I have some questions and suggestions (all about KDBGrid for Lazarus): Questions: 1. Mouse wheel is changing data position. How to avoid this? I want that mouse wheel should only move scrollbars (without dataset position changing). Lazarus grids has property MouseWheelOption. 2. I have option "row select" but I still see selected column (it has little darker color). How to disable it? Suggestions: 1. Bottom header line is missing, see screenshot (bottom grid is KGrid) http://s14.postimage.org/7ypm5m7n5/kgrid.png . With bottom line KGrid will be more native. Regards
inserted: 2014-07-06 11:00:03   Reply...
From: tk
Will be fixed in new version.
inserted: 2014-07-07 02:18:15   Reply...
From: tk
Should be fixed in rev. 1.5, gxMouseWheelScroll vs. gxMouseWheelKey option.
inserted: 2013-01-14 19:34:47   Reply...
From: Luis
Hello, I installed KControls on Delphi 2010. I try to use TKDBGrid but I don't understand how to define the columns on TKDBGrid. There is not a ColumnsEditor like TDBGrid provided by VCL. Plesase, can you give me a brief explication or give me a tutorial other than the TKGrid present in Help Directory of downloaded file? Thanks
inserted: 2014-07-06 11:01:03   Reply...
From: tk
Yes this is still missing.
inserted: 2012-12-17 10:59:19   Reply...
From: serhiyiv
Hi. Could you tell me please will make TKIcon compatible with Delphi XE3? If using 2.1 version with Delphi XE3 it won't display 256x256 PNG Icons. The files included in the kcontrols_1.3 won't compile because of [dcc32 Error] kicon.pas(380): E2003 Undeclared identifier: 'TKPngImage' Thank you.
inserted: 2012-12-13 00:00:54   Reply...
From: RubyMikey
Hi all, i'm using the KPrintSetupDialog and selecting pagesetup of Landscape does not work... thanks in advance for any help win7/lazarus Codetyphon
inserted: 2014-07-07 19:40:07   Reply...
From: tk
Should be fixed in rev. 1.5
inserted: 2012-11-27 12:00:06   Reply...
From: Faddistr
doesn't work under XE2
inserted: 2012-10-18 20:08:58   Reply...
From: mtbf40
If I open a empty DB the Header (fixed Row) won't view - with TDBGrid it functions - is this maybe a bug?
inserted: 2012-10-15 13:23:05   Reply...
From: mtbf40
When I try to set "kdbgrid1.AutoSizeGrid(mpColWidth);" - then i get the Error "...Error: Identifier not found "mpColWidth" can anyone help??
inserted: 2012-12-12 23:54:27   Reply...
From: RubyMikey
mpColWidth, mpColHeight etc are enums in KGRID therefore KDBGrid1.AutoSizeGrid(kgrids.mpColWidth, true);
inserted: 2012-09-29 08:11:35   Reply...
From: snorkel
When using a tkdbgrid with a db navigator component in Lazarus, and when you edit text in the grid the Post and cancel does not work as it should. The post and cancel work when inserting a new row, but shouldn't they be active when editing the row as well?
inserted: 2012-09-29 08:02:37   Reply...
From: snorkel
Hi, Just installed in Lazarus 1.0 and the column sort arrows in the tkdbrid don't seem to work, and when I enable the row sort it fires the gridCustomSortCols instead of gridCustomSortRows. The row sort arrow works ok though. Maybe I am doing something wrong. I have goColSorting set to true and the customsortcols never fires and no sort arrows appear when I click the column headers. Any ideas?
inserted: 2012-09-25 20:00:16   Reply...
From: phabyam
you should to use tk domain lol, thanks for all
inserted: 2012-09-24 09:56:31   Reply...
From: JD
Hi TK, is there any possibility to implement multiselect rows to KGrid ?
inserted: 2012-09-18 14:03:45   Reply...
From: mtbf40
How can I get the Row/Col Width?
inserted: 2012-09-07 19:25:56   Reply...
From: Dibo
What is going on with site? Everything is slow, can't download any controls
inserted: 2012-08-24 18:36:00   Reply...
From: blikblum
A sugestion: publish property BorderSpacing for controls under Lazarus. This is helpful for doing layout
inserted: 2012-08-14 02:10:07   Reply...
From: trooper
Any one can guide on how to get the current column's DataType, for the KDBGrid, from the appliation? Thank you.
inserted: 2012-08-13 05:42:31   Reply...
From: trooper
When the KDBGrid cell values are changed, how is the data committed and sent for update to the database?
inserted: 2012-08-13 04:47:40   Reply...
From: trooper
I have KDBgrid showing the fields (string, numeric, Memo, and Image(small icon), but how to edit them, now? I hope someone can give me some brief guideance, or a link. I don't need to edit images, though, just to show them in a separate ImageBox or viewer. I want to show/edit the Memo data in a separate memo box, too. Thank You.
inserted: 2012-07-22 19:59:34   Reply...
From: Steve
Please help with these issues (with Lazarus .9.30.4 and KControls 1.3 on Windows 7-32). I'm primarily interested in KDBGrid. 1. Does KBDGrid support combo boxes in individual cells? I know you do checkboxes and images, but I need data-aware drop-down lists. 2. Do you have a tutorial or any simple instructions for getting started with KDBGrid? The help file will be ok as a reference once I know the basics. 3. The KDBGrid demo doesn't come with a database so it's unusable. Do you have a demo with a small SQLite database, or using some embedded data, just so I can see how the grid works? Thank you.
inserted: 2012-07-19 14:57:46   Reply...
From: Duhacek
My function SumCol - corrected function SumCol(AGrid: TKCustomGrid; ACol: integer): Extended; var iRow, eCode: integer; dbl: Extended; begin Result:= 0; for iRow:=0 to AGrid.RowCount-1 do begin Val(AGrid.Cells[ACol-1,iRow], dbl, eCode); if (eCode=0) then Result:= Result + dbl; end; end;
inserted: 2012-07-09 09:48:37   Reply...
From: Duhacek
Can you add this function to TKGrid? I needed it in my program so I'd like to share it... function SumCol(AGrid: TKCustomGrid; ACol: integer): Extended; var iRow: integer; begin Result:= 0; for iRow:=0 to AGrid.RowCount-1 do try Result:= Result + StrToFloat(AGrid.Cells[ACol,iRow]); except end; end;
inserted: 2012-05-08 10:35:52   Reply...
From: Jojo86
Hi, i'm french so sorry for my english. Thank for your components! But i have a problem with tkdbgrid and tkpreview. In my tTKDBgrid, i have many lines (100 for exemple) when i show the tkprintpreview, i can see just the 20 first lines and others are empty... Could you help me??? Thank you!
Older comments
My account
Recently modified

KControls Development Suite

by: tk

2014-02-13

KHexEditor

by: tk

2010-11-08

KGrid

by: tk

2010-11-08

KIcon

by: tk

2009-11-24

KGrid 1.3 released.

by: tk

2009-08-10

Recently inserted

Update for RAD Studio XE2

by: tk

2012-04-03

KComponents as open source

by: tk

2011-04-16

Problem with comments and logins

by: tk

2010-01-29

KControls released

by: tk

2009-10-15

Working hard on KGrid update...

by: tk

2009-06-22

EMWD

by: tk

2007-12-03