TButton的一个定义语句:
property Cancel: Boolean read FCancel write FCancel default False;帮忙解答下:
button1.Cancel := True;
这句代码是怎样来改变FCancel的,FCancel变了又是如何改变button的响应消息的。源码里没看到Cancel和FCancel之间的相互赋值啊。
property Cancel: Boolean read FCancel write FCancel default False;帮忙解答下:
button1.Cancel := True;
这句代码是怎样来改变FCancel的,FCancel变了又是如何改变button的响应消息的。源码里没看到Cancel和FCancel之间的相互赋值啊。
定义Cancel:boolean read FCancel write FCancel时就隐式说明当Cancel改变时自动传入FCancel
function GetInt: Integer;
procedure SetInt(const Value: Integer);
public
property Int: Integer read GetInt write SetInt;此时,若调用XXX.Int := 1其实就是XXX.SetInt(1);
若调用A := XXX.Int其实就是A :=XXX.GetInt();
TCMDialogKey = TWMKey; TWMKey = packed record
Msg: Cardinal;
CharCode: Word;
Unused: Word;
KeyData: Longint;
Result: Longint;
end;
procedure TButton.CMDialogKey(var Message: TCMDialogKey);
begin
with Message do
if (((CharCode = VK_RETURN) and FActive) or
((CharCode = VK_ESCAPE) and FCancel)) and
(KeyDataToShiftState(Message.KeyData) = []) and CanFocus then
begin
Click;
Result := 1;
end else
inherited;
end;