は、VCLを作成し、アプリケーションとメインフォームのOnMouseDown
イベントハンドラの書き込みにフォーム:CTRLキーのみが押されたときのシフト値?
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」を評価してこれに答えなかったのですか? Ctrlキーの1つだけが押されても、Shiftキーの内容が[ssCtrl]ではないことがすぐに分かりました。 – MartynA