• 締切
  • すぐに回答を!

Windowsのカーソルを変更

  • 質問No.73194
  • 閲覧数685
  • ありがとう数6
  • 回答数5

お礼率 92% (13/14)

VB6からWindowsのカーソルを変更する方法を教えてください。
お願いします。

回答 (全5件)

  • 回答No.5

ベストアンサー率 33% (1403/4213)

WinME上のVSVB6で試してみたところ、

Sub Main()

Dim nCounter As Long


Screen.MousePointer = vbHourglass

For nCounter = 0 To 420000000
''''ここは時間稼ぎ
Next nCounter
Screen.MousePointer = vbDefault

End

End Sub

で、カーソルは変わるには変わります。
でも DoEvents を入れたらとたんに変になりますね。
  • 回答No.4

ベストアンサー率 22% (2/9)

マウスポインターを変更するには、screen.mousepointerに値を設定すれば良いのです。

設定する値は、VBで変数が提供されています。
(詳しくは、HELPで見てくださいね。)

砂時計=vbHourGrass
初期値=vbDefault

処理を実行する前に砂時計をセットして、終了したら初期値をセットするといった感じで、いかがでしょう?

最後に一言。
回答と返す人たちも、手助けできるようにと思って回答してくれていると思います。
質問する人も、どうしたら意図を感じとってもらえるか、少しだけ考えてから質問しましょう。
じゃあ、頑張ってください。
お礼コメント
PPinky

お礼率 92% (13/14)

ご忠告ありがとうございます。

私の方でも質問の仕方がよくなかったと思ったので、
下のほうに再度書かせて頂いています。
そちらも見ていただけたら幸いです。

一応書かせていただきます。
フォームのない実行ファイルを起動したときに、
マウスポインタを砂時計にしたいんです。
screen.mousepointerはフォーム内でしか有効じゃないかと思います。
やりたいのは「デスクトップ上、どこにいても砂時計」です。

ご理解いただけましたでしょうか?
投稿日時:2001/05/09 12:40
  • 回答No.3

ベストアンサー率 13% (63/457)

マウスカーソルは通常、実行しているアプリケーションが握っています。
ゆえに、VBで作ったものは簡単に変更できることは了承していることと思います。
そして、シェルに関連しているものも、ウィンドウズの設定で可能です。

ただし、他のアプリケーションに関しては、ウィンドウハンドルを取得して、
それに関して、ウィンドウのクラスのhCursorメンバを変更することによって
変更することになります。
お礼コメント
PPinky

お礼率 92% (13/14)

ありがとうございます。
ご参考にさせていただきます。
投稿日時:2001/05/09 12:46
  • 回答No.2

ベストアンサー率 33% (427/1283)

なんのカーソル??

マウスカーソル?
入力カーソル?

 マウスカーソルなら、使用しているコントローラに依存して変更可能です。

 入力カーソルの変更は簡単に出来ません。APIを駆使するか、入力カーソルを変更出来るコンポーネントを作ればOKです。


 なんにせよどんな事がしないのかを明確に書いて下さいね。
お礼コメント
PPinky

お礼率 92% (13/14)

失礼しました。
下でも書きましたが、フォームのない実行ファイルを起動した際に、
マウスポインタをデフォルトから砂時計にしたいです。
で、実行終了前に砂時計からデフォルトに戻したいのです。

APIでSetCursorだとかLoadImageだとか使おうとしたのですが、
うまくできません。

すいませんが、よろしくお願いします。
投稿日時:2001/05/08 18:23
  • 回答No.1

ベストアンサー率 33% (1403/4213)

> VB6からWindowsのカーソルを変更する方法を教えてください。
実行中に砂時計にするならScreen.MousePointer=vbHourGlass(つづり忘れた!)という意味でしょうか?
自分自身のフォーム上ならMe(ここにはフォーム名).MousePointerでOK。


それとも[コントロールパネル]-[マウス]-[ポインタ]-[デザイン]で
指定するマウスポインタでしょうか?
お礼コメント
PPinky

お礼率 92% (13/14)

失礼しました。
詳しく書かせて頂きます。

フォームのない実行ファイルを起動した際に、
マウスポインタをデフォルトから砂時計にしたいです。
(なのでScreen.Mousepointerは使えない?)
で、実行終了前に砂時計からデフォルトに戻したいのです。
すいません、よろしくお願いします。
投稿日時:2001/05/08 18:20
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ