スポンサードリンク
« »


ウィンドウハンドルの取得 『HSP3』

2009 年 5 月 25 日 月曜日  【 カテゴリー: HSP3 , sendmsg


前回は「sendmsg」の基本的な使い方についてみていきました。今回はウィンドウハンドルの取得方法をみていきます。
「sendmsg」では第1パラメータにメッセージを送りたいウィンドウハンドルを指定しました。

sendmsg01

sendmessageとは」でも説明しましたが、「sendmessage」で使うウィンドウとは、フォームだけでなくコマンドボタンなどもいいます。
VBやVCなどで使用する言葉とHSP3で使用する言葉を混ぜてしまうとややこしくなるので(自分も整理できてない)、とりあえずHSPで作った画面をウィンドウ、その中のメッセージボックスやボタンをオブジェクトと呼ぶことで進めます。
ウィンドウハンドルは、ウィンドウそのものだけでなくボタンなどのオブジェクト1つ1つにつけられていますので、ボタンなどにもメッセージを送って制御することができます。では、それらのウィンドウハンドルの取得方法をみてみます。

①ウィンドウ

ウィンドウのウィンドウハンドルの取得方法は前回でも説明しました。ただ、システム変数「hwnd」で取得できます。

例) mes hwnd 結果)495478

何度も起動してもらったらわかりますが、ウィンドウハンドル値は毎回変わります。

②オブジェクト

オブジェクトのウィンドウハンドルの取得も簡単です。システム変数で勝手に取得とまではいきませんが、「objinfo_hwnd」関数を使います。
関数名をみただけでもイメージつきますね。オブジェクト情報の「hwnd」です。

例)

a = "1つ目のオブジェクト"
input a,150,20
mes objinfo_hwnd(stat)
b = "2つ目のオブジェクト"
input b,150,20
mes objinfo_hwnd(stat)

この例では「input」というメッセージボックスのオブジェクトを生成してます。システム変数「stat」には、直前に生成したオブジェクトのオブジェクトIDが格納されます。しかし、このオブジェクトIDは、HSP3の範囲内だけで使えるもので、これをwindowsAPIで使うことができません。sendmsgのパラメータは、ウィンドウハンドルを指定するので、この「stat」をウィンドウハンドルに変換します。この変換で利用するのが「objinfo_hwnd」関数です。オブジェクトIDを渡すとウィンドウハンドルを返します。

これで、ウィンドウやオブジェクトからウィンドウハンドルを取得することができました。


にほんブログ村 IT技術ブログ Webサイト構築へ
にほんブログ村
【WEBサイト構築・プログラムブログ】
ランキング参加中!よろしければ「クリック」お願いします。
にほんブログ村 IT技術ブログ プログラム・プログラマへ
にほんブログ村
2009 年 5 月 25 日 月曜日  【 カテゴリー: HSP3 , sendmsg

コメントをどうぞ

※管理者による確認後に表示されます。表示までしばらくお待ちください。





デジもの通販