• 締切済み

Windowsのカーソルを変更

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

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.5

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 を入れたらとたんに変になりますね。

  • amania
  • ベストアンサー率22% (2/9)
回答No.4

マウスポインターを変更するには、screen.mousepointerに値を設定すれば良いのです。 設定する値は、VBで変数が提供されています。 (詳しくは、HELPで見てくださいね。) 砂時計=vbHourGrass 初期値=vbDefault 処理を実行する前に砂時計をセットして、終了したら初期値をセットするといった感じで、いかがでしょう? 最後に一言。 回答と返す人たちも、手助けできるようにと思って回答してくれていると思います。 質問する人も、どうしたら意図を感じとってもらえるか、少しだけ考えてから質問しましょう。 じゃあ、頑張ってください。

PPinky
質問者

お礼

ご忠告ありがとうございます。 私の方でも質問の仕方がよくなかったと思ったので、 下のほうに再度書かせて頂いています。 そちらも見ていただけたら幸いです。 一応書かせていただきます。 フォームのない実行ファイルを起動したときに、 マウスポインタを砂時計にしたいんです。 screen.mousepointerはフォーム内でしか有効じゃないかと思います。 やりたいのは「デスクトップ上、どこにいても砂時計」です。 ご理解いただけましたでしょうか?

  • kee
  • ベストアンサー率13% (63/457)
回答No.3

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

PPinky
質問者

お礼

ありがとうございます。 ご参考にさせていただきます。

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.2

なんのカーソル?? マウスカーソル? 入力カーソル?  マウスカーソルなら、使用しているコントローラに依存して変更可能です。  入力カーソルの変更は簡単に出来ません。APIを駆使するか、入力カーソルを変更出来るコンポーネントを作ればOKです。  なんにせよどんな事がしないのかを明確に書いて下さいね。

PPinky
質問者

お礼

失礼しました。 下でも書きましたが、フォームのない実行ファイルを起動した際に、 マウスポインタをデフォルトから砂時計にしたいです。 で、実行終了前に砂時計からデフォルトに戻したいのです。 APIでSetCursorだとかLoadImageだとか使おうとしたのですが、 うまくできません。 すいませんが、よろしくお願いします。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> VB6からWindowsのカーソルを変更する方法を教えてください。 実行中に砂時計にするならScreen.MousePointer=vbHourGlass(つづり忘れた!)という意味でしょうか? 自分自身のフォーム上ならMe(ここにはフォーム名).MousePointerでOK。 それとも[コントロールパネル]-[マウス]-[ポインタ]-[デザイン]で 指定するマウスポインタでしょうか?

PPinky
質問者

お礼

失礼しました。 詳しく書かせて頂きます。 フォームのない実行ファイルを起動した際に、 マウスポインタをデフォルトから砂時計にしたいです。 (なのでScreen.Mousepointerは使えない?) で、実行終了前に砂時計からデフォルトに戻したいのです。 すいません、よろしくお願いします。

関連するQ&A