TForm.OnMouseWheel イベントで
「左ボタン + クリクリ」などで余計な物が送られてきます
(D5、D2009 で確認)
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
var
S:string;
begin
S:='----';
if ssShift in Shift then S:=S+#9+'ssShift';//正常
if ssAlt in Shift then S:=S+#9+'ssAlt';//正常
if ssCtrl in Shift then S:=S+#9+'ssCtrl';//← ssCtrl の後 ssShift が発生
if ssLeft in Shift then S:=S+#9+'ssLeft';//← ssLeft の後 ssCtrl が発生
if ssRight in Shift then S:=S+#9+'ssRight';//正常
if ssMiddle in Shift then S:=S+#9+'ssMiddle';//正常
if ssDouble in Shift then S:=S+#9+'ssDouble';//テスト出来ない
Memo1.Lines.Add(S);
end;
現在これで分岐に困っています
(もしかしてロジクールの問題なんでしょうか?)
「左ボタン + クリクリ」と「Ctrl + クリクリ」を明確に見分ける方法は
ありますでしょうか?
よろしくお願いいたしますm(_ _)m
--------------------------------------------------------------------------
と、いう質問を
とあるところで聞こうと思ったんだけど
begin
Handled := True;
この一行で解決した
冷静に考えればわかるんだろうけど、この一行って結構なくても使えてたりするからはまるんですよね
0 件のコメント:
コメントを投稿