マウスカーソルの変更
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