Menu

Tree [196b08] master /
 History

HTTPS access


File Date Author Commit
 Build32 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit
 Build64 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit
 Include 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit
 SampleApp 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit
 Source 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit
 .gitignore 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit
 OpenCtrls.cbp 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit
 ReadMe.txt 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit
 compile32.bat 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit
 compile64.bat 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit
 makefile.mingw 2023-11-19 Oskar Dolch Oskar Dolch [196b08] Initial commit

Read Me

Content
=======
1. What is OpenControls
2. How to compile OpenControls
3. How to use OpenControls


1. What is OpenControls
=======================
OpenControls is a set of Windows controls, which are aparently missing in the Windows API. The philosophy
of OpenControls is analoguous to Windows Common Controls. The controls are stored in a dll, which can be linked
with an application and initialized in a way fairly similar to Common Controls.

OpenControls can primarily be used by pure C++ programmers, hoever similar wrappers (Delphi, VBX, .NET) which
exist for Common Controls could certainly be created for OpenControls.

The controls implemented are:

InPlaceComboBox
---------------
This controls behave in the same way as ordinary ComboBox. The additional functionality is that it can be drawn
without the border, so it is suitable to be placed inside data grids etc. Moreover it supports virtual drop
down list boxes, so the combo box list can be fed from a database.

InPlaceButton
-------------
Standard small button with ellipses, which can be used in data grids to symbolize possible evocation of other
action, e.g. displaying a dialog box.

ImgButton
---------
Standard button which can display both image and text simultaneously.

PropertyBox
-----------
Control which consists of list of propertis on the left hand side and editing controls on the right hand side
to change the properties.

The single library works on all Windows systems. There is no difference between ANSI and UNICODE version, the
appropriate string functions calls are determined from the way how the library has been initialized. However,
there is different version for 32 bit and 64 bit applications.

The controls also support Windows XP (and Vista) visual styles. If the visual styles are enabled by the main
application, the controls are rendered using the visual styles.


2. How to compile OpenControls
==============================
The library is written in pure C++ and combiled by the Windows clones of GCC. Just extract the content of the
"OpenCtrls.zip" archive preserving the directory strucure and run the appropriate batch file to compile the
library.


3. How to use OpenControls
==========================
The "OpenCtrls.dll" file must be placed in the path of your application or in a folder which is in PATH
environment variable. Use the linking system of your compiler you are used to. To create the controls, the
library must be initialized. To initialize the library and to use the controls, your application must include
the "OpenCtrls.h" file. This file is self-explanatory. OpenControls also contains sample application. See
the source code of this sample for details.