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

このQ&Aに関連する最新のQ&A

A 回答 (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 を入れたらとたんに変になりますね。
    • good
    • 0

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



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

砂時計=vbHourGrass
初期値=vbDefault

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

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

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

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

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

ご理解いただけましたでしょうか?

お礼日時:2001/05/09 12:40

マウスカーソルは通常、実行しているアプリケーションが握っています。


ゆえに、VBで作ったものは簡単に変更できることは了承していることと思います。
そして、シェルに関連しているものも、ウィンドウズの設定で可能です。

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

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

お礼日時:2001/05/09 12:46

なんのカーソル??



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

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

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


 なんにせよどんな事がしないのかを明確に書いて下さいね。
    • good
    • 0
この回答へのお礼

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

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

すいませんが、よろしくお願いします。

お礼日時:2001/05/08 18:23

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


実行中に砂時計にするならScreen.MousePointer=vbHourGlass(つづり忘れた!)という意味でしょうか?
自分自身のフォーム上ならMe(ここにはフォーム名).MousePointerでOK。


それとも[コントロールパネル]-[マウス]-[ポインタ]-[デザイン]で
指定するマウスポインタでしょうか?
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2001/05/08 18:20

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qツールバーがカーソルを合わせないと出ない

サイトを見ている際、上部にツールバーが出ていたのですが、今ではそこにカーソルを合わせないと出なくなってしまいました。
下部のツールバー?も以前より小さくなってしまいました。
元に戻したいのですが、どうしたらよいでしょう?

Aベストアンサー

F11キーを押してください。

QVB6からVC6で作成したDLLの関数を呼び出すときに注意すること

VB6からVC6で作成したDLLの関数を呼び出すときに、型について気をつけないといけませんが、VB6でint型のものはVC6ではshortにしないといけないのでしょうか?マシンやOSや開発環境(例えばVS2005やGCC)により違ってくるのでしょうか?

VB6とVC6でやり取りする場合の型について知りたいです。

あと、ActiveXのDLLの場合は関数にアクセスするのではなく、COM(という概念がわかっていないのですが)を使うのですか?

Aベストアンサー

> VB6でint型のものはVC6ではshortにしないといけないのでしょうか
VB6のInteger型(VB6ではint型とは言いません)は「16Bit符号付整数」ですから、
VC6の該当するデータ型はshort型ですね。

ちなみに、VS2005のInteger型は「32bit符号付整数」です。
対応するVC6/VC2005のデータ型はlong又はint型ですね。

> VB6とVC6でやり取りする場合の型について知りたいです。
VB6とVC6のデータ型の対応表は、VB6のヘルプ(MSDNライブラリ)の
「C 言語の宣言の Visual Basic への変換」に書かれています。

> ActiveXのDLLの場合は関数にアクセスするのではなく、
> COM(という概念がわかっていないのですが)を使うのですか?
まあ、使いますね。
#特に「COM」と言う名前の関数とかがあるわけじゃありませんけど。

手順的には
(手順1)該当ActiveXの提供するする機能が含まれるオブジェクトを生成する。
 次のどちらかで作成する。
 ・ActiveXDLLを「参照設定」して、Newキーワードで作成
 ・参照設定しないで、CreateObject関数で作成
(手順2)オブジェクトの関数(又は、サブルーチン,プロパティ)を呼ぶ。
ですね。

> VB6でint型のものはVC6ではshortにしないといけないのでしょうか
VB6のInteger型(VB6ではint型とは言いません)は「16Bit符号付整数」ですから、
VC6の該当するデータ型はshort型ですね。

ちなみに、VS2005のInteger型は「32bit符号付整数」です。
対応するVC6/VC2005のデータ型はlong又はint型ですね。

> VB6とVC6でやり取りする場合の型について知りたいです。
VB6とVC6のデータ型の対応表は、VB6のヘルプ(MSDNライブラリ)の
「C 言語の宣言の Visual Basic への変換」に書かれています。

> ...続きを読む

Q画面立ち上げ時 カーソルが出ない

windowas meのノートを使っていました。
画面を立ち上げたら、画面の絵や文字が拡大されていて、いくら動かしてもカーソルが現れません。
今は違うパソコンからアクセスしてますが、どうしたらよいのでしょうか?
教えてください。お願いします。

Aベストアンサー

多分、レジストリトラブルでしょう!

キーボードよりウインドウズキーを押し、
方向キー(↑)で「ファイル名を指定して実行」で
エンター、scanregw /restore(scanregwの後
ワンスペース)と入力しエンター、
「レジストリの復元」画面で
方向キーで正常だった最新の日でエンター
これで再起動がかかります

修復出来ると思いますが?

QVB6 からEXCEL起動をブロックする方法

VB6を使用してEXCELを開き色々コントロールするプログラムを作成したのですが、EXCELをプログラムからでなく、単独で起動してしまうとVB6から開いたEXCELのコントロールに悪影響を与えてしまうようです。
そこで、VB6で作成するプログラムの中にEXCELを単独で起動出来ないようにブロックするコードを入れられないかと考えています。
良い方法がありましたらご教授下さい。

Aベストアンサー

以下のサイトの回答はどうですか。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1119740501

Qツールバーにカーソルをポイントしてもヒントが出ない

エクセルの2000を使っていますが、標準ツールバーにある「上書き保存」のマークや「切り取り」などのマークの上にカーソルを置いてもヒントが出ません。
普通だったらどんなことが出来るのか、マウスポインタの下に文字が出ますよね?
すみませんが、ご回答よろしくお願いします<(_ _)>

Aベストアンサー

ツール-ユーザー設定-オプションタブ
ツールバーにボタン名を表示する のチェックを
オンにしてみてください。

QVB6からEXCELマクロの終了を判断する方法を教えてください。

VB6からEXCELマクロの終了を判断する方法を教えてください。

VB6とEXCEL(VBAも含む)を使って次のような流れの処理を行うソフトを作っています。
そこでどうしてもEXCELマクロの終了をVB6から判断する必要があり、方法を教えて頂けないでしょうか。

1)VB6でEXCELファイルを起動
2)VB6からセルA1に10,A2に20を代入
3)VB6からEXCELファイル内のマクロをコール
4)マクロはA1+A2の計算を行いA3に代入(30)
5)VB6からA3の値を読み込む

(実際にはマクロは複雑な処理をします。)

1)~5)の処理を5000回程度行います。
VB6から送られるデータは毎回変わり、EXCELとマクロで計算させたデータを回収してテキストファイルに書き出します。

一通りのプログラムは完成したのですが、計算したデータを見ると10+20が1.99999とか15.51414とかおかしい結果になっています。
もしかしたらマクロの実行が終わっていない段階でVB6がデータを拾ってしまっている??と考え、マクロの終了をVB6で判断してからデータを回収するようにしたいと思っています。

何か方法はないでしょうか。(または他に間違っているところがあるのでしょうか。)
長文ですみません。よろしくご教示ねがいます。

VB6からEXCELマクロの終了を判断する方法を教えてください。

VB6とEXCEL(VBAも含む)を使って次のような流れの処理を行うソフトを作っています。
そこでどうしてもEXCELマクロの終了をVB6から判断する必要があり、方法を教えて頂けないでしょうか。

1)VB6でEXCELファイルを起動
2)VB6からセルA1に10,A2に20を代入
3)VB6からEXCELファイル内のマクロをコール
4)マクロはA1+A2の計算を行いA3に代入(30)
5)VB6からA3の値を読み込む

(実際にはマクロは複雑な処理をします。)

1)~5)の処理を5000回程度行います。
VB...続きを読む

Aベストアンサー

#2の回答者です。

あくまでも、Excelを扱う話の一般論です。

>ソルバーは利用せず、マクロ上では足し算のコードのみでも上記のような誤差は発生しています。
データ型はどうなっているのでしょうか?

Excelのワークシートというのは、あれはあれで、浮動小数点誤差の補正処理してのです。どこがというと、足し算・掛け算では、ほぼ演算誤差が出てこないのです。ところが、VB側で、Single, Double型にしていると、まず、数字そのものに、約半分は誤差が発生してしまいます。そこで、Long型、Integer型にすればよいのですが、そう勝手にいかないわけです。そこで、Currency やCDec 型を使いたいというののですが、それも状況にもよります。

そこで、基本的なことですが、あまり大きな数を扱いますと、オーバーフローになってしまいますが、桁を決めて10倍・100倍・1000倍にして、Integer で整数型にして計算するという方法があります。

もうひとつ、セルを使う場合などは、いちいち、Integer などを使わずに、整数法というテクニックがあります。代表的な関数では、Fixを使います。それを再び、数値として使うわけです。Rangeの .Text プロパティを使って、見かけの表示をそのまま値として使う方法もあります。

ここらのテクニックはたぶんご存知かもしれません。この話だけで解決するとは思いますが、これで話がうまく進まないようでしたら、具体的な内容を教えてください。

ところで、
>実はエクセルソルバーの高機能バージョンをVB6で作ろうとしています。
私にとっても、ソルバーは、食指の動く話ですが、Excelについているソルバーというのは、Ver.5マクロで出来上がっています。だから、もう15年前のものということになりそうです。それで、クレジットに入れるデジタル署名の部分だけ新しくして、新バージョンに入れているようで、Excel側も、もうそろそろ新しくしても良いと思うのですが、MS側は、自分では開発できないようです。

http://www.solver.com/
は、なかなか値段が高いですね。ご自分で作るなら、アルゴリズムなどは手に入れているわけですね。

それで、私も、自分で作ろうとして、Webサーチして、知ったことですが、このアルゴリズムというのは、「お金」になるのか、見つかりません。それで、いくつか、まとまった本が出ているのは知りました。だから、「買えば?」ということですが、1つのテクニックだけで、お金を投資する余裕がなくて、購入できない、というのが、今の私の現状です。それに、ある程度のことは、今のまま蓄積した知識で出来てしまうのです。

#2の回答者です。

あくまでも、Excelを扱う話の一般論です。

>ソルバーは利用せず、マクロ上では足し算のコードのみでも上記のような誤差は発生しています。
データ型はどうなっているのでしょうか?

Excelのワークシートというのは、あれはあれで、浮動小数点誤差の補正処理してのです。どこがというと、足し算・掛け算では、ほぼ演算誤差が出てこないのです。ところが、VB側で、Single, Double型にしていると、まず、数字そのものに、約半分は誤差が発生してしまいます。そこで、Long型、Integer型にすればよ...続きを読む

Q画像にカーソルをおくと左上に出てくるものを出ないようにするタグ教えてください!

よく画像にカーソルをおくと、
画像の左上に小さくでてくるもの
(クリックすると、画像を保存できたり、
印刷出来たり、メールで添付できる4つのものです)
を、出てこなくしたいのですが
その方法(タグ等)教えて頂けますか?
宜しくお願いします。

Aベストアンサー

1ページ分の画像のイメージツールバーを非表示する場合。
<HEAD>と</HEAD>の間に入れてください。
<meta http-equiv="imagetoolbar" content="no">

imgタグに直接入力する場合は
<img src="画像のファイル名" alt="画像の説明" width="横幅" height="縦長さ" galleryimg="no">

QVB6で作成したDLLをVC6で使用する方法

VB6で作成したDLLをVC6で使用できなくて困っています。
以下にトライしたことを示します。

(1) VB6でTRUEを返すだけの関数を入れたActiveX DLLを作成
(2) VC6のLoadLibraryに成功(戻り値がNULL以外)
(3) VC6のGetProcAddressに失敗(戻り値がNULL)
(4) VC.NET付属のDumpbinユーティリティでは(1)で作成した関数が表示されない。

何が悪いのでしょうか。
宜しくお願いします。

Aベストアンサー

 ActiveX DLLと分かってるのにLoadLibraryで呼び出しちゃダメジャン(←一緒に仕事している中国人が仕様の不備とか見つけた時に言う口癖)。ActiveX DLLはDLL(便宜上Win32 DLLと呼ぶ事にする)とは違うでよ。

 LoadLibrary→GetProcAddressはWin32 DLLの中のエクスポートされた関数を動的に呼び出す時に使うもので、ActiveX DLLはCOMインターフェースを呼び出さんといけんです。や、私もIUNKNOWNインターフェースとか正確な話は訳わかめですが。
 C++からCOMインターフェースにアクセスする方法はいくつかあるけど、#importを使うのが手っ取りばやいだろう。

#import <sonodll.dll>

これ以上の詳しい情報はC++とかimportとかActiveXとかtlhとかtliとかのキーワードを合わせて検索してみればざくざく出てくるだろう。
VC++6.0の統合開発環境を使っているのであればクラスウィザードでタイプライブラリからクラスの追加をしても良いかも。

Qカーソルを近づけても表示が出ない

Microsoft Internet Explorerや、タスクバーのクイック起動アイコンにカーソルを近づけると、それが何なのか、黄色い帯の中に黒い字で表示が出ますが、Word2003, Excel2003, Outlook2003では、近づけても何も出ません。どうしたら、インターネットやタスクバーのように、表示が出るように設定できますか?

Aベストアンサー

WordやExcelのツールバーのボタンをポイントしたときに表示される吹き出しのことですね。
ユーザー設定のオプションで、「ツールバーにボタン名を表示する」のチェックが外れていると思います。チェックを付けてください。

QVB6、コマンドボタンの背景色を変更するには?

コマンドボタンのBackColorプロパティをいじってもコマンドボタンのCaptionの背景の色が変更されません。
ラベルコントロールとかだと同じプロパティをいじると色が変わるのですが…
色を変えるにはどうすればよいでしょうか?

Aベストアンサー

Style=グラフィック


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報