mirror of
https://github.com/Rayerd/dfl.git
synced 2025-04-27 05:40:07 +03:00
132 lines
4.2 KiB
D
132 lines
4.2 KiB
D
import dfl;
|
|
|
|
version(Have_dfl) // For DUB.
|
|
{
|
|
}
|
|
else
|
|
{
|
|
pragma(lib, "dfl.lib");
|
|
}
|
|
|
|
class MainForm : Form
|
|
{
|
|
private TextBox _textbox1;
|
|
private TextBox _textbox2;
|
|
private TextBox _textbox3;
|
|
private TextBox _textbox4;
|
|
private TextBox _textbox5;
|
|
private Button _button1;
|
|
private Button _button2;
|
|
|
|
this()
|
|
{
|
|
// Form setting
|
|
text = "TextBox sample";
|
|
size = Size(500,400);
|
|
resizeRedraw = true;
|
|
|
|
// Button setting (Default button)
|
|
_button1 = new Button();
|
|
_button1.location = Point(10,10);
|
|
_button1.text = "OK";
|
|
_button1.click ~= (Control c, EventArgs e)
|
|
{
|
|
this.text = this.text ~ "+";
|
|
};
|
|
_button1.parent = this;
|
|
|
|
// Button setting (Default button's enable/disable is switched).
|
|
_button2 = new Button();
|
|
_button2.location = Point(100,10);
|
|
_button2.text = "On/Off";
|
|
_button2.click ~= (Control c, EventArgs e)
|
|
{
|
|
if(acceptButton)
|
|
{
|
|
acceptButton = null; // Default button is now none.
|
|
_button1.notifyDefault(false);
|
|
_textbox1.text = "Now Off";
|
|
}
|
|
else
|
|
{
|
|
acceptButton = _button1; // Set default button.
|
|
_button1.notifyDefault(true);
|
|
_textbox1.text = "Now On";
|
|
}
|
|
};
|
|
_button2.parent = this;
|
|
|
|
// TextBox setting (Single line)
|
|
_textbox1 = new TextBox();
|
|
_textbox1.location = Point(200,10);
|
|
_textbox1.size = Size(100,30);
|
|
_textbox1.multiline = false; // false: One line textbox.
|
|
_textbox1.scrollBars = ScrollBars.NONE; // NONE: Without scroll bar.
|
|
_textbox1.acceptsReturn = false; // false: Disables RETURN key.
|
|
_textbox1.acceptsTab = false; // false: Disables TAB key.
|
|
// true: Enables TAB key. But be changed focus only
|
|
// because one line textbox is not able to input TAB char.
|
|
_textbox1.wordWrap = false; // false: Do not send words that span the right edge to the next line.
|
|
_button1.notifyDefault(false); // false: Do not set as default button
|
|
_textbox1.text = "Default Off";
|
|
_textbox1.parent = this;
|
|
|
|
// TextBox setting (return:yes, tab:yes)
|
|
_textbox2 = new TextBox();
|
|
_textbox2.location = Point(10,60);
|
|
_textbox2.size = Size(450,50);
|
|
_textbox2.multiline = true; // true: Multi line textbox.
|
|
_textbox2.scrollBars = ScrollBars.VERTICAL; // VERTICAL: within vertical scroll bar.
|
|
_textbox2.acceptsReturn = true; // true: Enables RETURN key.
|
|
_textbox2.acceptsTab = true; // true: Enables TAB key.
|
|
_textbox2.wordWrap = true; // true: Send words that span the right edge to the next line.
|
|
_textbox2.text = "return:yes, tab:yes";
|
|
_textbox2.parent = this;
|
|
|
|
// TextBox setting (return:yes, tab:no)
|
|
_textbox3 = new TextBox();
|
|
_textbox3.location = Point(10,130);
|
|
_textbox3.size = Size(450,50);
|
|
_textbox3.multiline = true; // false: One line textbox.
|
|
_textbox3.scrollBars = ScrollBars.VERTICAL; // VERTICAL: within vertical scroll bar.
|
|
_textbox3.acceptsReturn = true; // true: Enables RETURN key.
|
|
_textbox3.acceptsTab = false; // false: Disables TAB key.
|
|
_textbox3.wordWrap = true; // true: Send words that span the right edge to the next line.
|
|
_textbox3.text = "return:yes, tab:no";
|
|
_textbox3.parent = this;
|
|
|
|
// TextBox setting (return:no, tab:yes)
|
|
_textbox4 = new TextBox();
|
|
_textbox4.location = Point(10,190);
|
|
_textbox4.size = Size(450,50);
|
|
_textbox4.multiline = true; // true: Multi line textbox.
|
|
_textbox4.scrollBars = ScrollBars.VERTICAL; // VERTICAL: within vertical scroll bar.
|
|
_textbox4.acceptsReturn = false; // false: Disables RETURN key.
|
|
_textbox4.acceptsTab = true; // true: Enables TAB key.
|
|
_textbox4.wordWrap = true; // true: Send words that span the right edge to the next line.
|
|
_textbox4.text = "return:no, tab:yes";
|
|
_textbox4.parent = this;
|
|
|
|
// TextBox setting (return:no, tab:no)
|
|
_textbox5 = new TextBox();
|
|
_textbox5.location = Point(10,250);
|
|
_textbox5.size = Size(450,50);
|
|
_textbox5.multiline = true; // true: Multi line textbox.
|
|
_textbox5.scrollBars = ScrollBars.VERTICAL; // VERTICAL: within vertical scroll bar.
|
|
_textbox5.acceptsReturn = false; // false: Disables RETURN key.
|
|
_textbox5.acceptsTab = false; // false: Disables TAB key.
|
|
_textbox5.wordWrap = true; // true: Send words that span the right edge to the next line.
|
|
_textbox5.text = "return:no, tab:no";
|
|
_textbox5.parent = this;
|
|
}
|
|
}
|
|
|
|
static this()
|
|
{
|
|
Application.enableVisualStyles();
|
|
}
|
|
|
|
void main()
|
|
{
|
|
Application.run(new MainForm());
|
|
}
|