OnKeyPress GraphWPF.pas

This commit is contained in:
Mikhalkovich Stanislav 2018-12-17 20:03:13 +03:00
parent ac0396d5c8
commit cdec5cb7fb
4 changed files with 37 additions and 3 deletions

View file

@ -769,6 +769,11 @@ namespace PascalABCCompiler.SyntaxTree
sb.Append(" " + pa.ToString() + " ");
return sb.ToString();
}
bool is_extension()
{
return proc_attributes.proc_attributes.FindIndex(attr => attr.attribute_type == proc_attribute.attr_extension) >=0;
}
}
public partial class function_header

View file

@ -0,0 +1,14 @@
type
TClass = class
private
fX, fY: integer;
public
property X: integer write (fX, fY) := (3, 4);
end;
begin
var d := TClass.Create;
d.X := 55;
Assert(d.fX=3);
end.

View file

@ -0,0 +1,8 @@
begin
var a: array of sequence of byte;
SetLength(a,1);
a[0] := Seq(byte(1),byte(2));
foreach var b in a do
Assert(b.GetType.Name='Byte[]');
end.

View file

@ -459,6 +459,8 @@ var
OnKeyDown: procedure(k: Key);
/// Событие отжатия клавиши
OnKeyUp: procedure(k: Key);
/// Событие нажатия символьной клавиши
OnKeyPress: procedure(ch: char);
/// Событие изменения размера графического окна
OnResize: procedure;
@ -1391,16 +1393,20 @@ begin
end;
/// --- SystemKeyEvents
procedure SystemOnKeyDown(sender: Object; e: KeyEventArgs);
begin
procedure SystemOnKeyDown(sender: Object; e: KeyEventArgs) :=
if OnKeyDown<>nil then
OnKeyDown(e.Key);
end;
procedure SystemOnKeyUp(sender: Object; e: KeyEventArgs) :=
if OnKeyUp<>nil then
OnKeyUp(e.Key);
procedure SystemOnKeyPress(sender: Object; e: TextCompositionEventArgs) :=
begin
if (OnKeyPress<>nil) and (e.Text<>nil) and (e.Text.Length>0) then
OnKeyPress(e.Text[1]);
end;
procedure SystemOnResize(sender: Object; e: SizeChangedEventArgs) :=
if OnResize<>nil then
OnResize();
@ -1521,6 +1527,7 @@ public
MouseMove += SystemOnMouseMove;
KeyDown += SystemOnKeyDown;
KeyUp += SystemOnKeyUp;
Self.TextInput += SystemOnKeyPress;
SizeChanged += SystemOnResize;
CompositionTarget.Rendering += RenderFrame;