今VBでプログラムを作成しています。

サンプルソースを調べたりして、「Shell_NotifyIcon」を使用してタスクトレイにアイコンを追加する事はできたのですが、そのアイコンを右クリック等してメニューを表示させることができません。コールバックメッセージにWM_MOUSEMOVEを指定しているのですがフォームのMouse_Moveイベント自体が発生していないようです。

いくつかサンプルソースをダウンロードして実行してみましたが問題は無かったので、環境のせいでは無いと思います。
原因の可能性として考えつくものがあったら教えて下さい。
(ソースコードは長くなるので割愛させて頂きます。APIを使用している部分は全てサンプルソースのコピーそのままです。)

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

A 回答 (6件)

>自分の、既存のPGに組み込んだときにうまく動作しません。



ということは、サンプルと何らかの条件が違うのでしょう。
もしかして、MDIフォーム?

あと、Shell_NotifyIconは非表示なコントロールのイベントを設定した方がよいと思います。

.hWnd = Picture1.hWnd
.uCallbackMessage = WM_MOUSEMOVE


Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Debug.Print Button, Shift, X, Y
End Sub
    • good
    • 0
この回答へのお礼

できました!!!
仮のフォーム(frmTemp)を追加してそれを非表示にし、frmTempのhWndを渡すとfrmTempのMouseMoveイベントが発生しました。

以前にメインのウィンドウを非表示にして試してみてもダメだったので「非表示も関係ないかな?」とあきらめていたんですが。

理由も分かる方がいらっしゃったら教えて頂きたいので締め切りはもう少し待ちますが、本当に助かりました!どうもありがとうございます。

あ、ちなみにメインのフォームも標準のフォームです。MDIではありません。

お礼日時:2002/03/12 15:35

ActiveFromでないとMouseMoveイベントが発生しないのかな。

    • good
    • 0

>フォームのMouse_Moveイベント自体が発生していないようです。



MouseMoveイベントですけど、試したところ発生します。

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print Button, Shift, X, Y
End Sub

この回答への補足

ええと、質問文が説明不足だったようなので補足させて頂きます。
「いくつかのサンプルソースも試してみたのですが、そちらの方ではMouseMoveイベントも正常に発生します」です。

自分の、既存のPGに組み込んだときにうまく動作しません。

補足日時:2002/03/12 11:52
    • good
    • 0

.szTipに代入している部分を削除したら動きませんか?

    • good
    • 0
この回答へのお礼

回答ありがとうございます。
試してみましたが結果は同じでした。
ちなみに最初はバイトではなく文字列型でやっていたのですが、それでもうまくいきませんでした。

お礼日時:2002/03/12 10:11

>'タスクトレイ常駐


>lngRtn = Shell_NotifyIcon&(NIM_ADD, nIcon)

lngRtn = Shell_NotifyIcon(NIM_ADD, nIcon)
ではないですか?

だって
>Public Declare Function Shell_NotifyIcon Lib "Shell32.dll" >Alias "Shell_NotifyIconA" ( _
って宣言してますから...

この回答への補足

サンプルをそのまま使っていたのでここで使っている「&」の意味はよく分からないのですが、無いパターンで試してみても同じ結果でした。

「タスクトレイにアイコンを追加」自体はできているので、その後になにかをする、例えば他のフォームをロードしたり(そんな事はしていないのですが)、あるいはフォームのプロパティの設定によってクリックを受け付けないとか、そういった原因があるのかと思って質問をさせて頂きました。
デバッグしてみましたが、今は質問の本文にも書いた通り、MouseMoveイベント自体が発生していない、あるいは返ってきていない状態です。

補足日時:2002/03/11 16:45
    • good
    • 0

OSはなんですか?


本来ならば開発環境も書くべきですよ。

この回答への補足

説明足らずで申し訳ありません・・・。
OSはWinNT4.0 SP6
VBはver6.0を使用しています。

ソースですが
■宣言部
Public Declare Function Shell_NotifyIcon Lib "Shell32.dll" Alias "Shell_NotifyIconA" ( _
  ByVal dwMessage As Long, _
  lpData As NOTIFYICONDATA _
  ) As Long

■構造体宣言
Public Type NOTIFYICONDATA
  cbSize As Long
  hwnd As Long
  uID As Long
  uFlags As Long
  uCallbackMessage As Long
  hIcon As Long
  szTip(63) As Byte
End Type

Public nIcon As NOTIFYICONDATA

■フォームからの呼び出し部
'NOTIFYICONDATAの設定
With nIcon
  .cbSize = Len(nIcon)
  .hwnd = frmMain.hwnd
  .uID = 1
  .uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
  .uCallbackMessage = WM_MOUSEMOVE
  .hIcon = Me.Icon
  bytTip = StrConv(gcstrMsgTitle & vbNullChar, vbFromUnicode)
  For intLoop = LBound(bytTip) To UBound(bytTip)
  .szTip(intLoop) = bytTip(intLoop)
Next intLoop
End With
'タスクトレイ常駐
lngRtn = Shell_NotifyIcon&(NIM_ADD, nIcon)

こんな感じです。

補足日時:2002/03/11 16:12
    • good
    • 0

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

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

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

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

Q意味の違い(記入事項、記入項目、記載事項、記載項目)について

意味の違い(記入事項、記入項目、記載事項、記載項目)について

僕が無知なため日本語に詳しい方がおりましたら教えて下さい。

以下の日本語の意味の違いは何でしょうか?

・記入事項
・記入項目
・記載事項
・記載項目


よろしくお願いいたします。

失礼いたします。

Aベストアンサー

・記入事項
記入する事柄

・記入項目
何を記入するか知らしめるタイトル

・記載事項
書類などにすでに書かれている事柄

・記載項目
書類等にすでに書かれいている事柄のタイトル

QNotifyiconのアイコンを変更したいです。

プログラムの実行内容に応じて2つのアイコンを
切り替えて表示したいです。
1つはフォームデザイナで指定しておけば良いのですが、
もう1つはどうやって読み込ませたり、表示を入れ替えたり
すれば良いでしょうか。
良い方法をご教示いただきたくおねがい致します。
(環境はVB.NET、FrameWorks1.1です。)

Aベストアンサー

'タスクトレイに表示するアイコンを設定する
Dim ico As New System.Drawing.Icon("globe.ico")
NotifyIcon1.Icon = ico

でどうでしょうか?

QOCNモバイルは申し込む際に必要事項の項目に名前をカタカナでお願いしますという項目があって本名を記入

OCNモバイルは申し込む際に必要事項の項目に名前をカタカナでお願いしますという項目があって本名を記入したらカタカナだけがエラーになりましたありえません非常に困っております

Aベストアンサー

半角になってるのでしょう

QVBサンプルソースの使い方

VBサンプルソースの使い方
http://km2net.com/usb-an/index.shtml
Km2NetのUSB-Anを利用するため、
VBサンプルソースをDLしたのですが、
拡張子bas、frm、vbpなどのファイルをアプリケーションとして
利用する方法が分かりません。

VBが必要なのかと思って、
MS Visual Basic 2010 Express をインストールしてみたものの
使い方が分からなくて・・・。

どなたかご教授ください。

Aベストアンサー

VB6.0のサンプルプログラムですね。

MS Visual Basic 2010 Express では実行ファイルを作ることはできません。

VB6.0を使って実行ファイルをつくるか、VB6.0上で実行しますから、VB6.0(既に発売していないと思います)を持っていない場合は、ソースをエディタで見てソースを参考にして VS 2010 で作り直すしかないですね。

MSDNサブスクリプションを購入すれば VB6.0もダウンロードできますが安くはないです。

VB6.0を持っている人に実行ファイルを作ってもらう方法もありますが。

Q店舗賃貸 重要事項説明にない項目は重要事項説明違反にならないのですか? 新築の店舗を借りて、契約も

店舗賃貸 重要事項説明にない項目は重要事項説明違反にならないのですか?

新築の店舗を借りて、契約も契約金の支払いも終わっています。工場として借りたのですが電気の動力電源(低圧)が近くに来ておらず、電力会社に聞いたら現地調査から申請して使えるようになるまで2〜3カ月かかると言われました。

いつからでも使えるよう電気線の配線工事も全て終わっていて、今月から家賃も発生するのに電気が来ていないので稼働できません。

重要事項説明書の電気の欄には100ボルト単層、200ボルト単層としか書かれていませんが、不動産屋も工場に使うと知っているのに動力が引けない場所、とは聞いていません。

電気の欄に動力という事が書いてなければ、書いていないことは責任はないという事なのでしょうか?

これは重要事項説明違反にはならないのですか?

詳しい方がいたら、教えて下さい。

Aベストアンサー

>店舗賃貸 重要事項説明にない項目は重要事項説明違反にならないのですか?
なりません。

宅地建物取引業法
第35条  宅地建物取引業者は、宅地若しくは建物の売買、交換若しくは貸借の相手方若しくは代理を依頼した者又は宅地建物取引業者が行う媒介に係る売買、交換若しくは貸借の各当事者(以下「宅地建物取引業者の相手方等」という。)に対して、その者が取得し、又は借りようとしている宅地又は建物に関し、その売買、交換又は貸借の契約が成立するまでの間に、宅地建物取引士をして、少なくとも次に掲げる事項について、これらの事項を記載した書面(第五号において図面を必要とするときは、図面)を交付して説明をさせなければならない。

4  飲用水、電気及びガスの供給並びに排水のための施設の整備の状況(これらの施設が整備されていない場合においては、その整備の見通し及びその整備についての特別の負担に関する事項)

現況を書けば良いのでこの説明で十分です。
工場だから必ず動力線や高圧線の引き込みがいる物ではありません。
必要と思い記述がないのなら電力会社や不動産屋に確認するのが常識のある大人の行動でしょう。

>店舗賃貸 重要事項説明にない項目は重要事項説明違反にならないのですか?
なりません。

宅地建物取引業法
第35条  宅地建物取引業者は、宅地若しくは建物の売買、交換若しくは貸借の相手方若しくは代理を依頼した者又は宅地建物取引業者が行う媒介に係る売買、交換若しくは貸借の各当事者(以下「宅地建物取引業者の相手方等」という。)に対して、その者が取得し、又は借りようとしている宅地又は建物に関し、その売買、交換又は貸借の契約が成立するまでの間に、宅地建物取引士をして、少なくとも次に掲げる...続きを読む

QVB6でシリアル通信サンプルソースの入手先は

お世話になっております、
VB6でシリアル通信(UART)を行うための、
サンプルソースをダウンロードできるサイトをご存知の方いましたら、
教えていただけないでしょうか。

有料やアプリは見つけたのですが、
無料のソースが見つけられませんでした、
希望としてはMSCommを使用している物をご紹介していただけないでしょうか

Aベストアンサー

Visual Studio 6 のサンプルプログラムの中に
「VBTerm」という通信プログラムが有ります。
(エディションによっては入っていないかも)

Q経営事項審査の業務災害の項目について、確認しているんでしょうか?

いつもお世話になっております。
このたび建設業の経営事項審査審査を受けるにあたって申請書等作成したのですが、その中で「その他の審査項目」の工事の安全成績のところで、前年負傷者が1人出てしまっていたため、それを記入したのですが、ここで?と思うことがありました。弊社の属する地域が出している経営審査の際に提示する確認資料等一覧の中に、このことを証明するような書類等はまったく入っていませんでした。つまり、逆に言えばここで0と(嘘を)書いても、確認していないのだから、そのまま通過してしまうということなんでしょうか?特にこの業務災害は2年間影響しますので、入札参加資格申請を考えると大事な項目だと思うのですが、、、。このことを話したら、他の業者さんで以前実際は負傷者がいたのに、0と書いて、そのまま、パスできたなんて話も聞いております。正直者が馬鹿をみるなんてことがあるんでしょうか?皆さんのところではどうでしょうか?現実として結構ある(やっていること)ことだったりするんでしょうか?全体の点数的にも少しでもあげたい状況でどうしようか迷っております。(もちろん法的倫理的には正直に申告すべきとは思うのですが、上司も0でいいなんていいだしておりまして、、、)経験談等あれば教えてください。お願いいたします。

いつもお世話になっております。
このたび建設業の経営事項審査審査を受けるにあたって申請書等作成したのですが、その中で「その他の審査項目」の工事の安全成績のところで、前年負傷者が1人出てしまっていたため、それを記入したのですが、ここで?と思うことがありました。弊社の属する地域が出している経営審査の際に提示する確認資料等一覧の中に、このことを証明するような書類等はまったく入っていませんでした。つまり、逆に言えばここで0と(嘘を)書いても、確認していないのだから、そのまま通過して...続きを読む

Aベストアンサー

都道府県によっては、地元の労働局に照会しているところもありますが、基本的には自己申告ですので、確認は難しいです。
だからといって、経営事項審査の虚偽申請は、建設業法違反の立派な犯罪であり、現在でも15日以上の営業停止処分がなされることとなっています。
ばれないと思っていても、同業者からの通報(タレこみ)があれば一発アウトですので、やめた方がいいです。
そもそも、当サイトは、違法行為を目的とした質問や、Q&Aのやりとりが結果的に違法行為を助長すると判断される投稿は、禁止されています。

また、現行の経営事項審査のルールは今年度までのもので、現在抜本改正が予定されており、来年4月1日以降に申請するものについては、改正後のルールが適用されます。
詳細は未発表ですが、方向性としては、ペーパーカンパニーが高得点を取ることを防ぐ仕組み、虚偽申請の徹底排除の仕組みが随所に盛り込まれています。
W評点については、「賃金不払件数」や「工事の安全成績」といった自己申告によるものは、確認が難しいため、廃止されることになっています。

>特にこの業務災害は2年間影響しますので、入札参加資格申請を考えると大事な項目だと思うのですが
・とありますが、次回の経営事項審査では、この項目は廃止されています。
このほか、X1の評点テーブル、X2の計算方法、Yの経営比率、Zの計算方法など、Wも含めて全面抜本改正ですので、ご注意ください。

個人的には、「ばれないから虚偽申請してもよい」「正直者がバカを見る」というような考え方をしている建設業者がいまだに少なくないからこそ、世間の建設業界に対する視線が厳しくなるのだと思います。

都道府県によっては、地元の労働局に照会しているところもありますが、基本的には自己申告ですので、確認は難しいです。
だからといって、経営事項審査の虚偽申請は、建設業法違反の立派な犯罪であり、現在でも15日以上の営業停止処分がなされることとなっています。
ばれないと思っていても、同業者からの通報(タレこみ)があれば一発アウトですので、やめた方がいいです。
そもそも、当サイトは、違法行為を目的とした質問や、Q&Aのやりとりが結果的に違法行為を助長すると判断される投稿は、禁止されていま...続きを読む

Qform上のMouseMoveを受け取りたい

教えて頂けますか?
現在pictureBox上でのMouseMoveのイベントを受け取っていますが、
pictureBoxの子のコントロールの上にマウスが来ると、MouseMoveエベントが途絶えてしまいます。途絶えなくする方法はありますか?
もしくはform上のMouseMoveをどんなコントロールの上からでも受ける方法はありますか?マウスの座標が欲しいだけです。
スミマセン。よろしくお願いします。

Aベストアンサー

コントロールのCaptureプロパティで制御でそうですよ

FormのLoadイベントなど適切なイベントで
PictureBox1.Capture = True
などを実行してみましょう

# VB2005ならコントロールのコンテナにはPanelを使ったほうが
# いいように思いますよ ...
# 開発・実行環境などの情報も投稿しましょう

Q住民票(全事項証明)の項目内容について

住民票(全事項証明)をある所へ提出する必要があります。
この住民票(全事項証明)にはどのような情報が記載されるのでしょうか?
少し調べてみても、申請書の記入例なら直ぐ見つかるのですが、住民票(全事項証明)自体のサンプルは見つかりません。
よろしくお願いします。

Aベストアンサー

たびたびすみません。ひょっとして参考URLにあるようなことにお使いでしょうか?検索エンジンでヒットしました「住民票謄本(全事項証明)」という表現が文章中にありますが、だとすれば、きわめて不適切な表現です。「謄本」という意味は極めて曖昧です。No.1で書いた全部の事項が載った住民票をとられるのが、確実かと思います。余談ですが、私もお客様から「住民票謄本」を下さいと言われ、よく困惑しました。全部の記載事項が載った住民票とも考えられますし、戸籍の謄本と勘違いされている場合もありました。用語を役所間で統一すべきと思います。

参考URL:http://www.dalian.cn.emb-japan.go.jp/visa_02.html

QMouseDownとMouseMoveイベントで質問です。

学校の課題の為VB6.0でマウスを使用したプログラムを作成しているのですが、
MouseDownイベントとMouseMoveイベントで解らないことがあるので、
知っているかた、お願いします。

マウスの右ボタンと左ボタンの区別をつけるにはどうしたらいいのでしょうか?
例えば「左の時は描画し、右の時は描画しない」と言う感じで…

わからなくて困っています。ぜひ、お願いします。

Aベストアンサー

マウスイベントの引数Buttonにボタンの種類の情報が入っています。
これで良かったと思います。

Select Case Button
Case vbLeftButton
'左ボタン処理
Case vbRightButton
'右ボタン処理
Case vbMiddleButton
'中ボタン処理
End Select


人気Q&Aランキング