ABF software, Inc.

Useful and easy to use
components and tools
for developers

krpRegions library (Ver

Welcome to the krpRegions library page! This library is designed specially for software developers who are bored of standard box-styled windows and want to create really cool, unusual or skinnable program user interfaces, for example like that (this is the same program but with different "skins"):

Skin samples
The krpRegions library is a set of powerful and easy-to-use components for Borland Delphi and C++Builder. This product is designed for developers of any professional skill, so even beginners will be glad to use this library. krpRegions library uses two fundamental technologies: Skingine and AREA-BY-COLOR algorithm. Also we present our skin format absolutely free and hope this format will be popular.

The krpRegions library is distributed on a Try Before You Buy basis, so you can download and evaluate it absolutely free. Only a Trial Version of this library can be freely distributed. Customers who register for the current version of product will be entitled to free minor updates.

AREA-BY-COLOR™ algorithm

This algorithm was developed in 1998 by KARPOLAN (He is a member of our team now). Main idea of algorithm is using of a multi-color mask (bitmap or other graphics) for marking areas by different colors. This is an example of multi-color mask:

Multi-color mask
Each color area of mask denotes some working area. Gray area is a body of application. Yellow, Red, Aqua, Lime areas are buttons and so on.... You just detect which color of the mask is under cursor and perform events for area associated with this color. Also you can create a region for each color area and detect which region is currently active (this way is exactly used in the krpRegions library).

Skin format

Our skin format was developed after analyzing of tons other skin formats. We hope this format will be useful and popular. Our skin format is open and free! Any new ideas and propositions are welcome! Send you ideas to info@abf-dev.com

We decide to use 4 run-time states for all active areas of program's user interface:
  1. Normal - default state when the area is not disabled.
  2. Selected - state when cursor runs over the area (Hot track).
  3. Active- state when mouse or key is pressed, and area responds this activating event (Pressed).
  4. Disabled - state when the area doesn't respond any events.
The skin should contain images for all run-time states are used in the program. Active areas have a different look depending on the run-time state. When you run mouse over the area, it looks like on the Selected picture; press the mouse button, and area is show as on the Active image, and so on... Here are some examples of skin images (Normal, Selected and Active):
Normal Selected Active
As you see only active areas should be painted on each image, static areas are shown as Normal image. This feature helps to decrease the size of skin files.

Also our skin format supports masks. Masks can be used to define a shape of the program window or as an area descriptor for AREA-BY-COLOR algorithm. Mask can be a mono or multi-color... Here are examples of masks (mono and multi-color):
Mono Multi-color
There is also a skin description file. This file is a standard windows *.INI file with following section and variables:

[Pictures] - contains file names of all skin images, can be relative (Mask = ..\A\Mask.gif).
Mask = file name of mask graphic.
Normal = file name of normal image.
Selected = file name of selected image.
Active = file name of active image.
Disabled = file name of disabled image.

[FileInfo] - contains information about skin file.
Project = specifies a program the skin was designed for. We advice to use program's exe name.
Description = description of the skin (Name, signature, etc).
Version = version of the skin.
Author = information about author (Name, nickname, etc).
Copyright = legal copyright information.

This is an example of skin description file:
Description=The default skin for Lens.exe
Copyright=Copyright 2000-2005 ABF software, Inc.



  • Borland Delphi 3 (or higher) or C++Builder 3 (or higher).
  • OS: Windows 95/98/Me/NT4/2000/XP/2003.


How to buy

The trial version of krpRegions library will only work if the Delphi/C++Builder IDE is running. You may use the trial version up to 30 days to decide is the product matched your requirements. If you like this product and decide to get a full featured version, you will need to buy it. You can buy krpRegions library on-line either by credit card, bank transfer or check. Ordering by Phone, FAX, and postal mail is also available:
  • Full version of the krpRegions library one developer license:
  • Full version of the krpRegions library site license:
You will receive a registration email with password within 12 hours after we have received your order. If you haven't received your registration during this period, please contact our sales department to determine and solve the problem.


Torry's Top

See also

borland delphi borland cpp builder borland c++ builder krpregion krpregions library region rect rectangle circle eclipse roundrect api windows SetWindowRgn GetWindowRgn GetUpdateRgn gui graphics user interface skin theme skinnable xp opaque opacity transparent transparency