- - PR -
VB2005 マウスカーソルについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2009-02-12 11:17
ボタンを押した後、マウスカーソルを砂時計にしようと試みていますが
フォームの一部で砂時計にならないエリアがあります。 <記述は下記の通り> Me.Cursor = Cursors.WaitCursor 処理を行っている間、フォームを問わず、マウスカーソルを砂時計にするには どのように記述すればよろしいでしょうか? ご教授よろしくお願い致します。 ちなみに下名はVB2005初心者で、他人が書いたプログラムを修正しています。 | ||||
|
投稿日時: 2009-02-12 11:37
> フォームの一部で砂時計にならないエリアがあります。
具体的にどこですか? > フォームを問わず フォーム上の場所を問わず、ではなくですか? 複数のフォームがあるのでしょうか? | ||||
|
投稿日時: 2009-02-12 12:02
Kingさん回答ありがとうございます。
フォームは下記構成となっております。 (1)画面切替え用のボタンが約10個配置 (2)画面中央にタブコントロール(タブ数5つ) (3)タブコントロールの中にパネルコントロールが配置 パネルコントロールの上にテキストやラベルが配置 画面切替え用ボタンの上では、全て砂時計がデフォルトに戻ってしまいます。 タブコントロール上のパネルでは、砂時計状態のものと、デフォルトのものが存在します。 『フォームを問わず』と記述しましたのは、フォームの上にあるコントロールで 砂時計になる、ならない等 条件の切り分けがつかないものでしたので 条件を問わず、砂時計にしたいという意味で記述しています。 | ||||
|
投稿日時: 2009-02-12 12:57
仰る通りのフォームを作成し、「画面切替え用のボタン」の Click のタイミングで
> Me.Cursor = Cursors.WaitCursor としたところ、砂時計にならないのはパネルコントロールの上の TextBox だけでした。 その TextBox も [TextBoxのID].Cursor = Cursors.WaitCursor とすると砂時計になりました。 コントロールの Controls プロパティに含まれるコントロールの Cursor プロパティを 再帰的に変更する関数などで対応してはどうでしょうか。 | ||||
|
投稿日時: 2009-02-12 14:25
KINGさん回答どうもありがとうございました。
ControlsプロパティにてFormに乗っているコントロールのCursorプロパティを 明示的にWaitCursorに置き換えるということですね。 システム全体を通してのCursorプロパティ指定はないものですかね・・ | ||||
|
投稿日時: 2009-02-12 14:42
ボタンをクリックした時に上記の関数を ChangeCursorsType(Me, True) って呼び出せば出来ました。 > システム全体を通してのCursorプロパティ指定はないものですかね・・ 私が知らないだけで簡単に出来る方法がありそうですよね。 | ||||
|
投稿日時: 2009-02-12 15:32
記述頂いたプログラムを組みこんで動きを確認してみました。
作りたかった動き通りです。助かりました。 KINGさん、どうもありがとうございました。 |
1