delphi ssCtrl in Shift 和 Shift =[ssCtrl] 这两种写法有什么不同?
//即使同时按下了 Ctrl + Shift、Ctrl + Alt 等组合键,条件依然为 True.
procedure TEditUser.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (ssCtrl in Shift) and (Key = Ord('S')) then begin SaveBtnClick(Sender); end; end;
//如果同时按下了 Ctrl + Shift、Ctrl + Alt,条件为 False.属于严格匹配 procedure TEditUser.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Shift = [ssCtrl]) and (Key = Ord('S')) then begin SaveBtnClick(Sender); end; end;

浙公网安备 33010602011771号