2010年5月28日金曜日

[c++/cli] マウスクリックしたときの、[shift]キーとか[ctrl]キー状態のチェック

すごく簡単なんだけど、意外に調べにくかったので、書いときます。
サンプルはMouseClickイベント内でのキー状態の把握です。

結局、static propertyの、Control::ModifierKeysを知ってるか知らないかだけなんだけど、これにさっとたどり着けないときもあったりする。

以下、サンプル

System::Void FormMain::ctrlName_MouseClick(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) {

    switch (Control::ModifierKeys) {
        case Keys::None:
            // キー押されていない時の処理
            break;
        case Keys::Alt:
            // Altキーだけ押されている時の処理
            break;
        case Keys::Control:
            // Ctrlキーだけ押されている時の処理
            break;
        case Keys::Alt | Keys::Control:
            // AltキーとCtrlキーが両方押されている(他のキーは押されていない)時の処理
            break;
    }

}