CloudDelphi / mctrl

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

                      ====================================
                              mCtrl Project Readme
                         <http://mctrl.sourcefoget.net>
                      ====================================


What is mCtrl
=============

mCtrl is C library providing set of additional user interface controls for
MS Windows, intended to be complementary to standard Win32API controls from
USER32.DLL and COMCTL32.DLL.

API of the library is designed to be similar to the the Win32API. I.e. after
widnow class of particular control is registered with some initialization
function, the control can be normally created with the Win32API's
CreateWindow() or CreateWindowEx() functions and controlled with SendMessage().

At the moment these controls are available:

 * BUTTON provides some emulation for older Windows version (e.g. split
   buttons).

 * GRID allows you to easily present large quantity of data in tabular and
   well-arranged way.

 * HTML embeds power of web browser into your application.

 * MDI TAB is modern replacement for MDI (multiple document interface). These
   days, almost all users are familiar with using tabs when they have multiple
   documents opened in a single application window, as almost all web browsers
   provide this feature.


License
=======

mCtrl itself is covered with the GNU Lesser General Public License 2.1 or
(at your option) any later version. See file COPYING.lib for more info.

In brief, this generally means that:

 * Any program or library, even commercial covered with any proprietary
   license, is allowed to link against the mCtrl's import libraries and
   distribute MCTRL.DLL along with the program.

 * You can modify MCTRL.DLL (or its source code) and distribute such modified
   MCTRL.DLL only if the modifications are licensed also under the terms of
   the LGPL 2.1 (or any later version); or under the terms of GPL 2 (or any
   later version).

Source code of examples (i.e. contents of the examples directory within source
package) are in public domain.


Getting mCtrl
=============

You can always get latest version, and most actual information on the project
webpages:
    * http://mctrl.sourceforge.net
    * http://sourceforge.net/projects/mctrl

There are usually four packages for each release version available:
    * mCtrl-x.y.z-doc.zip    ... documentation (HTML)
    * mCtrl-x.y.z-src.zip    ... sources
    * mCtrl-x.y.z-x86.zip    ... prebuilt 32-bit binaries
    * mCtrl-x.y.z-x86_64.zip ... prebuilt 64-bit binaries


Using mCtrl
===========

If you have a pre-built package (either 32-bit or 64-bit), using mCtrl is as
easy as using any other DLL.

Header files are located in 'include\mCtrl' directory. You should instruct
your C/C++ compiler to search for header files in the 'include' directory and
use the 'mCtrl' in your preprocessor #include directives, e.g.:

    #include <mCtrl/version.h>

Import libraries are under the 'lib' subdirectory:
    * libmCtrl.a for gcc-based toolchains (e.g. mingw, mingw-w64)
    * mCtrl.lib for MSVC

And finally deploy your application with the MCTRL.DLL which is located
in the 'bin' subdirectory.

Note that documentation is not bundled within the prebuilt packages.
You have to download a separate package, or you can find the documentation
online:

    http://mctrl.sourceforge.net/doc.php


Building mCtrl from Sources
===========================

Disclaimer: If you want to just use MCTRL.DLL you should probably stick with
prebuilt packages.

Primary development platform for mCtrl project is mingw-w64
(see http://sf.net/projects/mingw-w64/) and MSYS. Assuming you have setup
the environment, and have the mCtrl sources then the build should as easy as
running 'make' from the root directory:

    $ make

It is possible to use variable PREFIX if the gcc toolchain was compiled as
a cross-compiler. For example:

    $ make PREFIX=i686-w64-mingw32-

More details and information about buiding within other environments (e.g.
MS VisualStudio) can be found in documentation.


Reporting Bugs
==============

If you encounter any bug, please be so kind and report it. We cannot fix bugs
we do not know about. The bug tracker can be found here:

    http://sourceforge.net/tracker/?group_id=286433&atid=1213775

Please try to verify the bug you want to report is not already registered.
If it is, check it and add any new details.

About

License:GNU General Public License v2.0


Languages

Language:C 97.9%Language:Shell 1.3%Language:Makefile 0.8%