D Forms Library, or DFL, is a Win32 windowing library for the D language.


Keywords
library, gui
License
Other
Install
dub fetch dfl --version 0.10.7

Documentation

DFL

This unofficial project is a migration of D Forms Library (DFL) that is managed on SVN. DFL is a Win32 windowing library for the D language.

import dfl;

void main()
{
	Form form = new Form;
	form.text = "Welcome to DFL";
	form.size = Size(300, 300);

	Button button = new Button;
	button.text = "OK";
	button.location = Point(20, 20);
	button.size = Size(100, 50);
	button.click ~= (Control c, EventArgs e) => msgBox("OK button is clicked.");
	button.parent = form;

	Application.run(form);
}

screen shot

Recent major features

  • Windows OMF support has been removed (for DMD v2.109.0).
  • Registered DFL to DUB.
  • Supported multiple screens.
  • Module "dfl.chart" is now comming.
    • TableRenderer (with example)
    • LineGraphRenderer (with example)
    • TimeChartRenderer (with example)
  • Module "dfl.printing" is now comming.
    • PrintDialog
    • PrintSetupDialog
    • PrintPreviewDialog
  • Remove dflexe.
  • Remove GTK-based DFL.
  • Remove some bundled libraries such as user32_dfl.lib etc... (From now on, use dmd-bundled libraries such as the MinGW platform library and so on.)

Screen shots

screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot

Usage

First, you make new DUB project:

> cd examples\new_project
> dub init

Add DFL to local DUB registry:

> dub add dfl
> dub list
Packages present in the system and known to dub:
  dfl 0.10.0: c:\your\path\dfl\0.10.0\dfl\
  silly 1.2.0-dev.2: c:\your\path\silly\1.2.0-dev.2\silly\
  undead 1.1.8: c:\your\path\undead\1.1.8\undead\

Build and run your GUI applications with DUB as below:

> dub build -a=x86_64
> dub run

IMPORTANT: DUB is building dfl_dub.lib that is not containing undead.lib and WINSDK libraries.

APPENDIX: Build and Install dfl.lib and dfl_debug.lib

1. Set environment variables

Fix the paths below:

set dmd_path=c:\d\dmd2\windows
set dmc_path=c:\dmc\dm

2. Install the undeaD library

DFL is required the undeaD library (undead.lib). Download a ZIP file from https://github.com/dlang/undead. Extract undeaD-master.zip and run the below with either option -a=x86_mscoff or -a=x86_64:

> cd undeaD-master
> dub build -a=x86_64
    Starting Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86_64.
  Up-to-date undead ~master: target for configuration [library] is up to date.
> dir bin /b
undead.lib

Copy the undead.lib to your/lib/dir.

3. Make dfl.lib and dfl_debug.lib

Run makelib.bat (MSVC required):

> cd dfl/win32/dfl
> makelib.bat           # 32-bit mscoff

or (MSVC required)

> makelib.bat 32mscoff  # ditto

or (MSVC required)

> makelib.bat 64        # 64-bit mscoff

Also copy dfl.lib and dfl_debug.lib in dfl/source to your/lib/dir.

IMPORTANT: Both library files are containing the undead.lib and WINSDK libraries such as user32.lib, gdi32.lib and so on.

In order to make and move *.lib to paths below:

  • go.bat (MSVC required) : Make and move *.lib to %dmd_path%\lib32mscoff
  • go.bat 32mscoff (MSVC required) : ditto
  • go64.bat (MSVC required) : Make and move *.lib to %dmd_path%\lib64

License

DFL is under the boost and/or zlib/libpng license.

However, trackbar.d is covered by the MIT license.