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;

 

posted @ 2026-03-20 17:11  一曲轻扬  阅读(2)  评论(0)    收藏  举报