pal_PostMessage
このページは、HSP(Hot Soup Processor)用機能拡張プラグインPALHSP(Progressive and Advanced Library for HSP)の公式マニュアルです。
現在、「pal_PostMessage」命令についての説明を表示しています。マニュアル目次はこちら。
pal_PostMessage int,int,int,int
呼び出し方:
p1 = 0〜(0) : ウインドウハンドル
p2 = 0〜(0) : メッセージID
p3 = 0〜(0) : パラメータ1
p4 = 0〜(0) : パラメータ2
p1 = 0〜(0) : ウインドウハンドル
p2 = 0〜(0) : メッセージID
p3 = 0〜(0) : パラメータ1
p4 = 0〜(0) : パラメータ2
この命令の説明
p1で指定したウインドウまたはオブジェクトに、メッセージを送ります。HSP3標準命令の、sendmsgと同じ仕様で、使い方も同じです。
ただし、以下の違いがあります。
sendmsg : メッセージを直接、同期的に送信します。
メッセージを送信し終えるまで、呼び出し元の処理はブロックされます。
pal_PostMessage : メッセージを、送り先のウインドウ/オブジェクトのメッセージキューの末尾に、非同期的に送信します。呼び出し元は、メッセージを送信した直後から、処理を継続する事ができます。
サンプルコード
// ウインドウを最小化#include "palhsp.hsp"
pal_PostMessage hwnd, 0x112, 0xf020
(使用例2)
// sendmsgと、pal_PostMessageの違いを確認するサンプル
#include "palhsp.hsp"
onexit *ex
// pal_PostMessageの場合。
// メッセージを送った直後の処理も、すぐに実行されます。
pal_PostMessage hwnd, 0x0010, 0 // 0x0010 = WM_CLOSE
mes "非同期的に処理されています。"
// sendmsgの場合。
// 送ったメッセージの処理が完了するまで、
// 次の処理に進むことができません。
sendmsg hwnd, 0x0010, 0
mes "sendmsgで処理がロックされているため、ここは表示されません。"
stop
*ex
dialog "test"
end
ウインドウ制御命令の他の命令
- pal_SetShowTask
タスクバーを非表示にする - pal_PolygonRgn
多角形のウインドウリージョンを生成 - pal_EllipseRgn
円形のウインドウリージョンを生成 - pal_RoundRectRgn
角が丸い四角形のウインドウリージョンを生成 - pal_RectRgn
四角形のウインドウリージョンを生成 - pal_SmallWindow
ウインドウを最小化する - pal_EnableWindow
ウインドウを操作不可にする - pal_FlashWindow
ウインドウのタイトルバーを点滅させる - pal_SetWindowStyle
ウインドウのスタイルを変更 - pal_GetActiveWindowTitle
アクティブなウインドウのタイトルを取得