procedure TfrmETools.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Shift in [ssShift,ssAlt,ssCtrl] then
begin
end;
end;会提示:[Error] EToolForm.pas(325): Incompatible types: 'TShiftState' and 'Enumeration'
Shift: TShiftState);
begin
if Shift in [ssShift,ssAlt,ssCtrl] then
begin
end;
end;会提示:[Error] EToolForm.pas(325): Incompatible types: 'TShiftState' and 'Enumeration'
if (Shift * [ssShift,ssAlt,ssCtrl]) = [ssShift,ssAlt,ssCtrl] then
begin
end
if (ssShift in Shift) and (ssAlt in Shift) and (ssCtrl in Shift) then
Shift是一个集合类型
ssShift、ssAlt、ssCtrl是集合元素in运算表示一个元素是否在集合中
不是表示一个集合是否在集合中
~~~~ ~~~~
Shift in [ssShift,ssAlt,ssCtrl]
相当于[ssShift,ssAlt,ssCtrl] in [ssShift,ssAlt,ssCtrl]
能通吗?if Shift <= [ssShift,ssAlt,ssCtrl] then begin
{ TODO : 处理 }
end;
if ssCtrl in Shift then