【发布时间】:2017-02-03 15:02:45
【问题描述】:
创建一个 VCL Forms 应用程序并在主窗体的 OnMouseDown 事件处理程序中写入:
procedure TForm2.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Shift = [ssCtrl] then
ShowMessage('CTRL pressed');
end;
然后运行应用程序,按住 CTRL 键,不使用其他修饰键,然后单击表单。不显示任何消息。为什么是现在?
那么Shift 在这种情况下,当仅按下 CTRL 键时,有哪个值?
【问题讨论】:
-
您为什么不自己通过在调试器中评估
Shift来回答这个问题?它会立即告诉你Shift的内容不仅仅是 [ssCtrl] 即使只按下了一个 Ctrl 键。
标签: delphi delphi-10.1-berlin modifier-key