SendMessage(hWnd,Msg,WParam,LParam)

導入されたバージョン 0.90β
引数
hWnd メッセージの送信相手のハンドル
Msg メッセージの種類
WParam 同時に送信するパラメータ
LParam WParamと同じ
この命令を使うには、WindowsAPIの知識がある程度必要となります。

ウィンドウ[hWnd](ボタンやエディタなどを含む)に、メッセージを送信します。
[Msg]には、ウィンドウメッセージを指定してください。
[WParam]はメッセージと共に送るパラメータです。
数値を指定してください。 [LParam]は、同じくパラメータです。
WindowsAPIのSendMessageと同様ですが、[LParam]には文字列を指定することが出来ます。
また、WM_GETTEXT($D)など[LParam]には文字列が返ってくる場合は、
対象となる変数にAlloc命令を使用してあらかじめメモリを確保して置いてください。

サンプルコード
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//テキストを取得する場合
//メッセージの定義
const WM_GETTEXT = $D; //テキスト取得
const WM_GETTEXTLENGTH = $E; //テキストの長さ取得

Memo = CMemo.Create;
Memo.Text = "ABCDEF";

Hnd = Memo.Handle; //ハンドル

//まずは文字列の長さを求める
//パラメータはどちらも0
Len = SendMessage(Hnd,WM_GETTEXTLENGTH,0,0);
Inc(Len); //nullの分を足す

//メモリを確保
Alloc(s,Len);

//テキスト取得
//WParamは文字列の長さ
//LParamは文字列を入れる変数
SendMessage(Hnd,WM_GETTEXT,Len,s);

Mes(s); //テキスト表示
index
プログラム言語「Spinel
Copyright © 2005 - Giemsa All Rights Reserved.
NOTES Software.