Files
lazarus-ccr/components/industrialstuff/Example/LCDDisplay/untmain.pas

230 lines
6.0 KiB
ObjectPascal
Raw Normal View History

unit untMain;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
Spin, indLCDDisplay;
type
{ TfrmMain }
TfrmMain = class(TForm)
cbAutoSize: TCheckBox;
cbCharSpace: TCheckBox;
cbtFrameColor: TColorButton;
cbtBoardColor: TColorButton;
cbtDotONColor: TColorButton;
cbtDotOFFColor: TColorButton;
cbColorSchemes: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
mmText: TMemo;
rgFrameStyle: TRadioGroup;
rgFrameColorStyle: TRadioGroup;
rgDotShape: TRadioGroup;
rgFrameHeight: TRadioGroup;
seDotSize: TSpinEdit;
seFrameSize: TSpinEdit;
seDotsSpace: TSpinEdit;
seDisplayCharCount: TSpinEdit;
seWidth: TSpinEdit;
seHeigth: TSpinEdit;
seDisplayLineCount: TSpinEdit;
procedure cbAutoSizeChange(Sender: TObject);
procedure cbCharSpaceChange(Sender: TObject);
procedure cbColorSchemesChange(Sender: TObject);
procedure cbtFrameColorColorChanged(Sender: TObject);
procedure cbtBoardColorColorChanged(Sender: TObject);
procedure cbtDotONColorColorChanged(Sender: TObject);
procedure cbtDotOFFColorColorChanged(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure mmTextChange(Sender: TObject);
procedure rgFrameStyleClick(Sender: TObject);
procedure rgFrameColorStyleClick(Sender: TObject);
procedure rgDotShapeClick(Sender: TObject);
procedure rgFrameHeightClick(Sender: TObject);
procedure seDisplayCharCountChange(Sender: TObject);
procedure seDotSizeChange(Sender: TObject);
procedure seDotsSpaceChange(Sender: TObject);
procedure seFrameSizeChange(Sender: TObject);
procedure seHeigthChange(Sender: TObject);
procedure seDisplayLineCountChange(Sender: TObject);
procedure seWidthChange(Sender: TObject);
private
LCDLines1: TLCDLines;
public
end;
var
frmMain: TfrmMain;
implementation
{$R *.lfm}
{ TfrmMain }
procedure TfrmMain.cbtFrameColorColorChanged(Sender: TObject);
begin
LCDLines1.FrameColor := cbtFrameColor.ButtonColor;
end;
procedure TfrmMain.cbtBoardColorColorChanged(Sender: TObject);
begin
LCDLines1.BoardColor := cbtBoardColor.ButtonColor;
end;
procedure TfrmMain.cbtDotONColorColorChanged(Sender: TObject);
begin
LCDLines1.DotColorON := cbtDotONColor.ButtonColor;
end;
procedure TfrmMain.cbtDotOFFColorColorChanged(Sender: TObject);
begin
LCDLines1.DotColorOFF := cbtDotOFFColor.ButtonColor;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
LCDLines1 := TLCDLines.Create(self);
with LCDLines1 do
begin
Left := 24;
Height := 101;
Top := 16;
Width := 290;
AutoSize := True;
DotColorOn := 5162664;
DotColorOff := 2900284;
DisplayCharCount := 0;
Lines.Add('TLCDLines');
ColorScheme := csInvGreen;
Parent := self;
end
end;
procedure TfrmMain.FormShow(Sender: TObject);
begin
mmText.Lines := LCDLines1.Lines;
seDisplayLineCount.Value := LCDLines1.DisplayLineCount;
seDisplayCharCount.Value := LCDLines1.DisplayCharCount;
seFrameSize.Value := LCDLines1.FrameSize;
seDotSize.Value := LCDLines1.DotSize;
seDotsSpace.Value := LCDLines1.DotsSpace;
seWidth.Value := LCDLines1.Width;
seHeigth.Value := LCDLines1.Height;
cbAutoSize.Checked := LCDLines1.AutoSize;
cbCharSpace.Checked := LCDLines1.CharSpace;
cbtFrameColor.ButtonColor := LCDLines1.FrameColor;
cbtBoardColor.ButtonColor := LCDLines1.BoardColor;
cbtDotONColor.ButtonColor := LCDLines1.DotColorOn;
cbtDotOFFColor.ButtonColor := LCDLines1.DotColorOff;
rgFrameStyle.ItemIndex := integer(LCDLines1.FrameStyle);
rgFrameColorStyle.ItemIndex := integer(LCDLines1.FrameColorStyle);
rgDotShape.ItemIndex := integer(LCDLines1.DotShape);
rgFrameHeight.ItemIndex := integer(LCDLines1.FrameHeight);
cbColorSchemes.ItemIndex:= integer(LCDLines1.ColorScheme);
end;
procedure TfrmMain.cbAutoSizeChange(Sender: TObject);
begin
LCDLines1.AutoSize := cbAutoSize.Checked;
if not cbAutoSize.Checked then
begin
LCDLines1.Width := seWidth.Value;
LCDLines1.Height := seHeigth.Value;
end;
end;
procedure TfrmMain.cbCharSpaceChange(Sender: TObject);
begin
LCDLines1.CharSpace := cbCharSpace.Checked;
end;
procedure TfrmMain.cbColorSchemesChange(Sender: TObject);
begin
LCDLines1.ColorScheme := TColorScheme(cbColorSchemes.ItemIndex);
end;
procedure TfrmMain.mmTextChange(Sender: TObject);
begin
LCDLines1.Lines.Assign(mmText.Lines);
if LCDLines1.AutoSize then
begin
LCDLines1.InvalidatePreferredSize;
LCDLines1.AdjustSize;
end;
LCDLines1.Invalidate;
end;
procedure TfrmMain.rgFrameStyleClick(Sender: TObject);
begin
LCDLines1.FrameStyle := TFrameStyle(rgFrameStyle.ItemIndex);
end;
procedure TfrmMain.rgFrameColorStyleClick(Sender: TObject);
begin
LCDLines1.FrameColorStyle := TFrameColorStyle(rgFrameColorStyle.ItemIndex);
end;
procedure TfrmMain.rgDotShapeClick(Sender: TObject);
begin
LCDLines1.DotShape := TDotShape(rgDotShape.ItemIndex);
end;
procedure TfrmMain.rgFrameHeightClick(Sender: TObject);
begin
LCDLines1.FrameHeight := TFrameHeight(rgFrameHeight.ItemIndex);
end;
procedure TfrmMain.seDisplayCharCountChange(Sender: TObject);
begin
LCDLines1.DisplayCharCount := seDisplayCharCount.Value;
end;
procedure TfrmMain.seDotSizeChange(Sender: TObject);
begin
LCDLines1.DotSize := seDotSize.Value;
end;
procedure TfrmMain.seDotsSpaceChange(Sender: TObject);
begin
LCDLines1.DotsSpace := seDotsSpace.Value;
end;
procedure TfrmMain.seFrameSizeChange(Sender: TObject);
begin
LCDLines1.FrameSize := seFrameSize.Value;
end;
procedure TfrmMain.seHeigthChange(Sender: TObject);
begin
LCDLines1.Height := seHeigth.Value;
end;
procedure TfrmMain.seDisplayLineCountChange(Sender: TObject);
begin
LCDLines1.DisplayLineCount := seDisplayLineCount.Value;
end;
procedure TfrmMain.seWidthChange(Sender: TObject);
begin
LCDLines1.Width := seWidth.Value;
end;
end.