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 - gabyou All Rights Reserved.
NOTES Software.