You've already forked lazarus-ccr
Industrial/LCDDisplay: Add handlers for OnKeyDown and OnMouseMove to CharDefs editor.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8316 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -105,13 +105,13 @@ object LCDCharDefsEditor: TLCDCharDefsEditor
|
|||||||
Left = 176
|
Left = 176
|
||||||
Height = 88
|
Height = 88
|
||||||
Top = 57
|
Top = 57
|
||||||
Width = 87
|
Width = 89
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
BorderSpacing.Left = 5
|
BorderSpacing.Left = 5
|
||||||
BorderSpacing.Right = 12
|
BorderSpacing.Right = 12
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
ClientHeight = 88
|
ClientHeight = 88
|
||||||
ClientWidth = 87
|
ClientWidth = 89
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
object btReplace: TBitBtn
|
object btReplace: TBitBtn
|
||||||
AnchorSideLeft.Control = pnButtons
|
AnchorSideLeft.Control = pnButtons
|
||||||
@ -120,7 +120,7 @@ object LCDCharDefsEditor: TLCDCharDefsEditor
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 26
|
Height = 26
|
||||||
Top = 31
|
Top = 31
|
||||||
Width = 87
|
Width = 89
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 5
|
||||||
Caption = 'Replace'
|
Caption = 'Replace'
|
||||||
@ -140,7 +140,7 @@ object LCDCharDefsEditor: TLCDCharDefsEditor
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 26
|
Height = 26
|
||||||
Top = 62
|
Top = 62
|
||||||
Width = 87
|
Width = 89
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
BorderSpacing.Top = 5
|
BorderSpacing.Top = 5
|
||||||
@ -160,7 +160,7 @@ object LCDCharDefsEditor: TLCDCharDefsEditor
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 26
|
Height = 26
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 87
|
Width = 89
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
Caption = 'Add as...'
|
Caption = 'Add as...'
|
||||||
@ -188,7 +188,9 @@ object LCDCharDefsEditor: TLCDCharDefsEditor
|
|||||||
FixedRows = 0
|
FixedRows = 0
|
||||||
ScrollBars = ssNone
|
ScrollBars = ssNone
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
|
OnKeyDown = dgDotMatrixKeyDown
|
||||||
OnMouseDown = dgDotMatrixMouseDown
|
OnMouseDown = dgDotMatrixMouseDown
|
||||||
|
OnMouseMove = dgDotMatrixMouseMove
|
||||||
OnPrepareCanvas = dgDotMatrixPrepareCanvas
|
OnPrepareCanvas = dgDotMatrixPrepareCanvas
|
||||||
end
|
end
|
||||||
object ImageList1: TImageList
|
object ImageList1: TImageList
|
||||||
|
@ -28,8 +28,12 @@ type
|
|||||||
procedure btDeleteClick(Sender: TObject);
|
procedure btDeleteClick(Sender: TObject);
|
||||||
procedure btReplaceClick(Sender: TObject);
|
procedure btReplaceClick(Sender: TObject);
|
||||||
procedure cbCharSelectorChange(Sender: TObject);
|
procedure cbCharSelectorChange(Sender: TObject);
|
||||||
|
procedure dgDotMatrixKeyDown(Sender: TObject; var Key: Word;
|
||||||
|
Shift: TShiftState);
|
||||||
procedure dgDotMatrixMouseDown(Sender: TObject; {%H-}Button: TMouseButton;
|
procedure dgDotMatrixMouseDown(Sender: TObject; {%H-}Button: TMouseButton;
|
||||||
{%H-}Shift: TShiftState; X, Y: Integer);
|
{%H-}Shift: TShiftState; X, Y: Integer);
|
||||||
|
procedure dgDotMatrixMouseMove(Sender: TObject; Shift: TShiftState; X,
|
||||||
|
Y: Integer);
|
||||||
procedure dgDotMatrixPrepareCanvas({%H-}sender: TObject; aCol, aRow: Integer;
|
procedure dgDotMatrixPrepareCanvas({%H-}sender: TObject; aCol, aRow: Integer;
|
||||||
{%H-}aState: TGridDrawState);
|
{%H-}aState: TGridDrawState);
|
||||||
procedure FormActivate(Sender: TObject);
|
procedure FormActivate(Sender: TObject);
|
||||||
@ -41,6 +45,7 @@ type
|
|||||||
FSavedCharDefs: TCharDefs;
|
FSavedCharDefs: TCharDefs;
|
||||||
FSelectedChar: String;
|
FSelectedChar: String;
|
||||||
FTmpDotRows: TDotRows;
|
FTmpDotRows: TDotRows;
|
||||||
|
FOldRow, FOldCol: Integer;
|
||||||
procedure SetLCDDisplay(AValue: TLCDDisplay);
|
procedure SetLCDDisplay(AValue: TLCDDisplay);
|
||||||
procedure PopulateCharSelector;
|
procedure PopulateCharSelector;
|
||||||
procedure SaveCharDefs;
|
procedure SaveCharDefs;
|
||||||
@ -154,6 +159,21 @@ begin
|
|||||||
FModified := false;
|
FModified := false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TLCDCharDefsEditor.dgDotMatrixKeyDown(Sender: TObject; var Key: Word;
|
||||||
|
Shift: TShiftState);
|
||||||
|
var
|
||||||
|
r, c: integer;
|
||||||
|
begin
|
||||||
|
r := dgDotMatrix.Row;
|
||||||
|
c := dgDotMatrix.Col;
|
||||||
|
if Key = 32 then
|
||||||
|
begin
|
||||||
|
ToggleDot(c, r);
|
||||||
|
dgDotMatrix.InvalidateCell(c, r);
|
||||||
|
FModified := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TLCDCharDefsEditor.dgDotMatrixMouseDown(Sender: TObject;
|
procedure TLCDCharDefsEditor.dgDotMatrixMouseDown(Sender: TObject;
|
||||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
var
|
var
|
||||||
@ -162,9 +182,30 @@ begin
|
|||||||
dgDotMatrix.MouseToCell(X,Y, c, r);
|
dgDotMatrix.MouseToCell(X,Y, c, r);
|
||||||
ToggleDot(c, r);
|
ToggleDot(c, r);
|
||||||
dgDotMatrix.InvalidateCell(c, r);
|
dgDotMatrix.InvalidateCell(c, r);
|
||||||
|
FOldRow := r;
|
||||||
|
FOldCol := c;
|
||||||
FModified := true;
|
FModified := true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TLCDCharDefsEditor.dgDotMatrixMouseMove(Sender: TObject;
|
||||||
|
Shift: TShiftState; X, Y: Integer);
|
||||||
|
var
|
||||||
|
r, c: Integer;
|
||||||
|
begin
|
||||||
|
if Shift = [ssLeft] then
|
||||||
|
begin
|
||||||
|
dgDotMatrix.MouseToCell(X,Y, c, r);
|
||||||
|
if (c <> FOldCol) or (r <> FOldRow) then
|
||||||
|
begin
|
||||||
|
ToggleDot(c, r);
|
||||||
|
dgDotMatrix.InvalidateCell(c, r);
|
||||||
|
FOldRow := r;
|
||||||
|
FOldCol := c;
|
||||||
|
FModified := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TLCDCharDefsEditor.dgDotMatrixPrepareCanvas(sender: TObject; aCol,
|
procedure TLCDCharDefsEditor.dgDotMatrixPrepareCanvas(sender: TObject; aCol,
|
||||||
aRow: Integer; aState: TGridDrawState);
|
aRow: Integer; aState: TGridDrawState);
|
||||||
begin
|
begin
|
||||||
|
Reference in New Issue
Block a user