Skip to content
This repository has been archived by the owner on Jan 16, 2021. It is now read-only.
/ xtd_forms Public archive

Modern c++17 library to create native gui for Microsoft Windows, Apple macOS and Linux.

License

Notifications You must be signed in to change notification settings

gammasoft71/xtd_forms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

forms

xtd_forms was merged into xtd.

Build Status Build status Reference Guide Documentation Website license

Features

  • Contains common controls, containers, menu, toolbar, components, various dialogs, ...
  • Easy catch control events by using event and delegates classes.
  • All controls are natives (win32 on windows, cocoa on macOS, gtk+3 on linux).
  • ...

For more information see documentations (website) and Reference Guide.

Examples

The following examples "Hello, world!" show how use form and button control, catch event click and show a message box.

hello_world_message_box.cpp

#include <xtd/xtd.forms>

using namespace xtd::forms;

int main() {
  button button1;
  button1.text("Click me");
  button1.location({10, 10});
  button1.click += [] {
    message_box::show("Hello, World!");
  };

  form form1;
  form1.text("Hello world (message_box)");
  form1.controls().push_back(button1);

  application::run(form1);
}

CMakeLists.txt:

cmake_minimum_required(VERSION 3.3)

project(hello_world_message_box)
find_package(xtd.forms REQUIRED)
add_sources(hello_world_message_box.cpp)
target_type(GUI_APPLICATION)

For more examples see examples

Tutorial

Tutorial provide a tutorial to cover the basics needed to create xtd_forms applications.

Download and install

Before running examples you must download and install xtd.forms. To download and install it read downloads file.