性格いい人が優勝

SendMessage()で、lParamに2つの (char *)を入れたいんだけど入りますか?
LPARAM型はLONG型のtypedefだから、LONG型は(char *)型の2倍以上の大きさがあるか
ということが知りたいです。

char str1[] = "2003年は";
char str2[] = "件登録されています";
SendMessage(hWnd, WM_NULL, wParam, MAKELPARAM(str1, str2));

A 回答 (2件)

> SendMessage()で、lParamに2つの (char *)を入れたいんだけど入りますか?



入りません。

構造体を使うしかないです。

struct {
 char* s1;
 char* s2;
} param;
char str1[] = "2003年は";
char str2[] = "件登録されています";
param.s1 = s1;
param.s2 = s2;
SendMessage(hwnd, WM_~, wparam, (LPARAM)&param);

# 試してません
    • good
    • 1
この回答へのお礼

ありがとうございます。
たくさんのポインタを通知するにはそれらを構造体に入れて、構造体のポインタを渡すのがよい方法ですよね。

sizeof(char *)なんてできないと思っていたら、できました。
僕のパソコンでは、(char *)も LAPRAM もsizeof()すると4でした。
LAPRAMは、(char *)型が1つ入れば満タンですね。

お礼日時:2003/03/06 13:11

 #1の方の補足です。


 仕事で試しました。構造体を使う方法で巧くいきます。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2003/03/06 13:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!