forked from mity/mctrl
-
Notifications
You must be signed in to change notification settings - Fork 4
mCtrl is C library providing set of additional user interface controls for Windows, intended to be complementary to standard Win32API controls from USER32.DLL and COMCTL32.DLL.
License
GPL-2.0, LGPL-2.1 licenses found
Licenses found
GPL-2.0
COPYING
LGPL-2.1
COPYING.lib
Psiphon-Inc/mctrl
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
## Psiphon notes To generate a project that will build with WinXP support, use a command line like this: ``` $ mkdir build $ cd build $ cmake -G "Visual Studio 14 2015" -T "v140_xp" .. ``` ---- ==================================== 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 Win32API. I.e. after window class of particular control is registered with corresponding initialization function, the control can be normally created with the Win32API's CreateWindow() or CreateWindowEx() functions and controlled with SendMessage(). 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 also licensed 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 all examples, i.e. contents of the directory 'examples' within the source package (see below), are in public domain. Getting mCtrl ============= You can always get the latest version and most actual information on project webpages: * http://mctrl.sourceforge.net * http://sourceforge.net/projects/mctrl There are usually two packages for each release version available: * mCtrl-x.y.z-bin.zip ... pre-built binary package * mCtrl-x.y.z-src.zip ... source package The pre-built package contains 32-bit as well as 64-bit binaries of MCTRL.DLL and examples, and also documentation for application developers. The source package is direct export of source tree from version control system repository. The current code (possibly untested and unstable) can also be cloned from git repository hosted on github: * http://github.com/mity/mctrl Using mCtrl =========== If you have the pre-built package, 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 located under the 'lib' (32-bit libs) and 'lib64' (64-bit) subdirectory: * libmCtrl.dll.a for gcc-based tool chains (e.g. mingw, mingw-w64) * mCtrl.lib for MSVC And finally deploy your application with the MCTRL.DLL which is located in the 'bin' (32-bit binaries) and 'bin64' (64-bit) subdirectories in the prebuilt package. Documentation for application developers is bundled within the pre-built package, or you can also 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 the pre-built package. To build mCtrl yourself from the source package or cloned git repository, first of all you need to use CMake 3.1 (or newer) to generate project files, Makefile or whatever for the development tool-chain of your choice. mCtrl is known to successfully build within following environments: (1) MSYS + mingw-w64 + Make: $ cmake -G "MSYS Makefiles" path/to/mctrl (2) MSYS + mingw-w64 + Ninja: $ cmake -G "Ninja" path/to/mctrl (3) Microsoft Visual Studio 2013: $ cmake -G "Visual Studio 12 2013" path/to/mctrl $ cmake -G "Visual Studio 12 2013 Win64" path/to/mctrl # 64-bit build Other CMake generators may or may not work. If they do not, then one or more CMakeLists.txt files within mCtrl directory tree may need some tuning. Use $ cmake --help and refer to CMake documentation to learn more about CMake, its options and capabilities. Then proceed to actually build mCtrl by opening the project files in your IDE or by running the make or other tool corresponding to the used CMake generator. Finally, consider running a mCtrl test-suite to verify correctness of your build. The test suite, as well as some examples demonstrating mCtrl, are built as part of the mCtrl build process. Reporting Bugs ============== If you encounter any bug, please be so kind and report it. Unheard bugs cannot get fixed. You can submit bug reports here: * http://github.com/mity/mctrl/issues Please provide the following information with the bug report: * mCtrl version you are using. * Whether you use 32-bit or 64-bit build of mCtrl. * OS version where you reproduce the issue. * As explicit description of the issue as possible, i.e. what behavior you expect and what behavior you see. (Reports of the kind "it does not work." do not help). * If relevant, consider attaching a screenshot or some code reproducing the issue.
About
mCtrl is C library providing set of additional user interface controls for Windows, intended to be complementary to standard Win32API controls from USER32.DLL and COMCTL32.DLL.
Resources
License
GPL-2.0, LGPL-2.1 licenses found
Licenses found
GPL-2.0
COPYING
LGPL-2.1
COPYING.lib
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C 96.9%
- C++ 1.7%
- Other 1.4%