Add custom flat form controls

This commit is contained in:
2026-05-25 14:43:05 +03:00
parent 685370c91f
commit b02f81750a
10 changed files with 3906 additions and 206 deletions
+13 -28
View File
@@ -5,7 +5,7 @@ unit DeviceForm;
interface
uses
Classes, SysUtils, FlatButton, AppTheme, Forms, Controls, Graphics, Dialogs,
Classes, SysUtils, FlatButton, FlatEdit, FlatListBox, AppTheme, Forms, Controls, Graphics, Dialogs,
StdCtrls, ExtCtrls, ComCtrls, IniFiles;
// Декодирование типа платы (совпадает с MainForm.BoardTypeName)
@@ -51,17 +51,17 @@ type
PanelRight: TPanel;
LblSaved: TLabel;
LstSaved: TListBox;
LstSaved: TFlatListBox;
BtnAdd: TFlatButton;
BtnRemove: TFlatButton;
BtnSetAuto: TFlatButton;
EdName: TEdit;
EdIP: TEdit;
EdName: TFlatEdit;
EdIP: TFlatEdit;
LblName: TLabel;
LblIP: TLabel;
LblFound: TLabel;
LstFound: TListBox;
LstFound: TFlatListBox;
BtnDiscover: TFlatButton;
BtnAddFound: TFlatButton;
@@ -205,7 +205,7 @@ begin
MakeLbl(PanelLeft, 'SAVED DEVICES', PAD, PAD);
LstSaved := TListBox.Create(Self);
LstSaved := TFlatListBox.Create(Self);
LstSaved.Parent := PanelLeft;
LstSaved.SetBounds(PAD, PAD + LabelH, LEFT_W - PAD * 2, 174);
LstSaved.Color := CLR_BG;
@@ -217,7 +217,7 @@ begin
FieldTop := 212;
MakeLbl(PanelLeft, 'Name:', PAD, FieldTop + 5);
EdName := TEdit.Create(Self);
EdName := TFlatEdit.Create(Self);
EdName.Parent := PanelLeft;
EdName.SetBounds(76, FieldTop, LEFT_W - 76 - PAD, EDIT_H);
EdName.Color := CLR_BG;
@@ -227,7 +227,7 @@ begin
Inc(FieldTop, EDIT_H + 10);
MakeLbl(PanelLeft, 'IP:', PAD, FieldTop + 5);
EdIP := TEdit.Create(Self);
EdIP := TFlatEdit.Create(Self);
EdIP.Parent := PanelLeft;
EdIP.SetBounds(76, FieldTop, LEFT_W - 76 - PAD, EDIT_H);
EdIP.Color := CLR_BG;
@@ -259,7 +259,7 @@ begin
MakeLbl(PanelRight, 'DISCOVERED DEVICES', PAD, PAD);
LstFound := TListBox.Create(Self);
LstFound := TFlatListBox.Create(Self);
LstFound.Parent := PanelRight;
LstFound.SetBounds(PAD, PAD + LabelH, RIGHT_W - PAD * 2, 250);
LstFound.Color := CLR_BG;
@@ -349,14 +349,8 @@ begin
Font.Color := T.Text;
if PanelLeft <> nil then PanelLeft.Color := T.Panel;
if PanelRight <> nil then PanelRight.Color := T.Panel;
if LstSaved <> nil then begin
LstSaved.Color := T.BG;
LstSaved.Font.Color := T.Text;
end;
if LstFound <> nil then begin
LstFound.Color := T.BG;
LstFound.Font.Color := T.Text;
end;
if LstSaved <> nil then LstSaved.SetAppTheme(T);
if LstFound <> nil then LstFound.SetAppTheme(T);
StyleButton(BtnAdd, False);
StyleButton(BtnRemove, False);
StyleButton(BtnSetAuto, False);
@@ -364,17 +358,8 @@ begin
StyleButton(BtnAddFound, False);
StyleButton(BtnCancel, False);
StyleConnectButton(BtnConnect);
// Edit fields: white bg for light theme, dark bg for dark theme
if Integer(T.BG) > Integer(TColor($00808080)) then
begin
if EdName <> nil then begin EdName.Color := TColor($00FFFFFF); EdName.Font.Color := TColor($00202020); end;
if EdIP <> nil then begin EdIP.Color := TColor($00FFFFFF); EdIP.Font.Color := TColor($00202020); end;
end
else
begin
if EdName <> nil then begin EdName.Color := TColor($00121212); EdName.Font.Color := TColor($00E0E0E0); end;
if EdIP <> nil then begin EdIP.Color := TColor($00121212); EdIP.Font.Color := TColor($00E0E0E0); end;
end;
if EdName <> nil then EdName.SetAppTheme(T);
if EdIP <> nil then EdIP.SetAppTheme(T);
WalkLabels(Self);
Invalidate;
end;