11月10日(2008)


マウスカーソルの変更

Cursor::Currentプロパティを使って指定する。
Cursorの取得はControl::Cursorプロパティを使って行う。

Currentプロパティを設定すると、表示されているカーソルを変更することができる。
Currentの内容は自動的にデフォルトにリセットされるっぽいので、
表示しておきたい間はずっとセットし続ける必要がある。



MouseWheelイベントの検出

PictureBox に MouseWheelイベントを設定して検出しようと思ったら検出できず…。
良く調べてみると、MouseWheelイベントが発生するのはそのコントロールに
フォーカスがあるときだけ。
で、Control::Focusメソッドの説明を見てみると、フォーカスを選択できない
コントロール一覧に PictureBox が…。

どうしたもんだろと思ったが、メインフォームなら検出できるので
メインフォームで受け取った後に、PictureBox上にカーソルがあるかで判断することで
なんとか対応できることが判明。

同様の流れで考えると、KeyDownイベントなども PictureBox からは検出できないのだろう…。

マニュアルのイベント項目にあるからって使えると思ったら大間違いだよ!バカヤロー!!
…って事だろうか。



MouseWheelイベントの使い方

System::Void MainForm::MainForm_MouseWheel(System::Object^  sender,
                                           System::Windows::Forms::MouseEventArgs^  e)
{
   int val = e->Delta / WHEEL_DELTA;
}

e->Deltaにはホイールの1目盛り(?)の移動に対して ±WHEEL_DELTA * Nの値が入っている。(WHEEL_DELTA=120)
まぁこれを目安にスクロールなりなんなりすればイイ。
最終更新:2008年11月10日 21:53
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。