「◆タスクトレイポップアップメニュー改」の編集履歴(バックアップ)一覧はこちら
◆タスクトレイポップアップメニュー改 - (2010/09/23 (木) 00:30:57) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*情報
作者名:戒斗
引用元:[[なでしこ質問掲示板「タスクトレイでポップアップメニュー改」>http://nade.jp-pro.net/bbs/bbs2/cbbs.cgi?mode=al2&namber=1152&rev=&no=0]]
*概要
タスクトレイのイベントでポップアップメニューを表示させます。
SWinXさんが移植された
[[「タスクトレイでポップアップメニュー」>http://www26.atwiki.jp/isoroku_be/pages/164.html]]
にメニューが他の場所をクリックしても消えないという不具合があったので修正して見ました。
*解説
ひまわりでmokaさんが作成なさった「タスクトレイでメニュー」
http://www.isonly.net/~yuk_yt/himawari/pr/1165.html
をSWinXさんがなでしこに移植された
[[「タスクトレイでポップアップメニュー」>http://www26.atwiki.jp/isoroku_be/pages/164.html]]
の不具合を修正して見ました。
*サンプルプログラム
//ここから
'タスクトレイでメニュー
●母艦設計
母艦の可視はオフ
■POINT
・X
・Y
!POINT_TYPEとは文字列="DWORD,DWORD"
●GetCursorPos({参照渡し}p)=DLL("USER32.DLL",
"INT GetCursorPos(
char* pPoint)")
●GetMenu(hWnd)=DLL("USER32.DLL",
"DWORD GetMenu(DWORD hWnd)")
●GetSubMenu(hMenu,I)=DLL("USER32.DLL",
"DWORD GetSubMenu(
DWORD hWnd,
DWORD Index)")
●TrackPopupMenu(hMenu,f,x,y,r,hWnd,p)=DLL("USER32.DLL",
"Int TrackPopupMenu(
Int hMenu,
Int wFlags,
Int x,
Int y,
Int nReserved,
Int hWnd,
Int lPrc)")
●SetForegroundWindow(hWnd) =DLL("user32.dll",
"BOOL SetForegroundWindow(
HWND hWnd
)")
「なし,M親,ダミー
M親,M子1,出す,,,母艦復活
M親,M線1,-
M親,M子2,終わる,,,終わり」をメニュー一括作成
GetMenu(母艦ハンドル)
メニューハンドル=GetSubMenu(それ,0)
M親の可視はオフ
母艦をタスクトレイ入れる
母艦のタスクトレイ右クリックした時は~
Sとは文字列
Sに8を確保
SetForegroundWindow(母艦ハンドル)
GetCursorPos(S)
UNPACK(S,POINT,POINT_TYPE)
TrackPopupMenu(メニューハンドル,2,POINT.X,POINT.Y,0,母艦ハンドル,0)
待機。
●母艦復活
母艦をタスクトレイ出す
母艦の可視はオン
----
- テスト -- test (2010-09-23 00:30:57)
#comment()
----
*情報
作者名:戒斗
引用元:[[なでしこプログラム掲示板「タスクトレイでポップアップメニュー改」>http://nade.jp-pro.net/bbs/bbs2/cbbs.cgi?mode=al2&namber=1152&rev=&no=0]]
*概要
タスクトレイのイベントでポップアップメニューを表示させます。
SWinXさんが移植された
[[「タスクトレイでポップアップメニュー」>http://www26.atwiki.jp/isoroku_be/pages/164.html]]
にメニューが他の場所をクリックしても消えないという不具合があったので修正して見ました。
そのためショートカットキーの動作も可能になっています。
*解説
ひまわりでmokaさんが作成なさった「タスクトレイでメニュー」
http://www.isonly.net/~yuk_yt/himawari/pr/1165.html
をSWinXさんがなでしこに移植された
[[「タスクトレイでポップアップメニュー」>http://www26.atwiki.jp/isoroku_be/pages/164.html]]
の不具合を修正して見ました。
*サンプルプログラム
//ここから
'タスクトレイでメニュー
●母艦設計
母艦の可視はオフ
■POINT
・X
・Y
!POINT_TYPEとは文字列="DWORD,DWORD"
●GetCursorPos({参照渡し}p)=DLL("USER32.DLL",
"INT GetCursorPos(
char* pPoint)")
●GetMenu(hWnd)=DLL("USER32.DLL",
"DWORD GetMenu(DWORD hWnd)")
●GetSubMenu(hMenu,I)=DLL("USER32.DLL",
"DWORD GetSubMenu(
DWORD hWnd,
DWORD Index)")
●TrackPopupMenu(hMenu,f,x,y,r,hWnd,p)=DLL("USER32.DLL",
"Int TrackPopupMenu(
Int hMenu,
Int wFlags,
Int x,
Int y,
Int nReserved,
Int hWnd,
Int lPrc)")
●SetForegroundWindow(hWnd) =DLL("user32.dll",
"BOOL SetForegroundWindow(
HWND hWnd
)")
「なし,M親,ダミー
M親,M子1,出す,,,母艦復活
M親,M線1,-
M親,M子2,終わる,,,終わり」をメニュー一括作成
GetMenu(母艦ハンドル)
メニューハンドル=GetSubMenu(それ,0)
M親の可視はオフ
母艦をタスクトレイ入れる
母艦のタスクトレイ右クリックした時は~
Sとは文字列
Sに8を確保
SetForegroundWindow(母艦ハンドル)
GetCursorPos(S)
UNPACK(S,POINT,POINT_TYPE)
TrackPopupMenu(メニューハンドル,2,POINT.X,POINT.Y,0,母艦ハンドル,0)
待機。
●母艦復活
母艦をタスクトレイ出す
母艦の可視はオン
----
- テスト -- test (2010-09-23 00:30:57)
#comment()
----