私はここに状況があり、何が悪いのかわかりません。私には親と2人の日光浴の子供がいます。どちらも編集タイプです。今、私は最初のコントロール(最初の子)を使用してユーザーからの入力を取得していますが、それはすべて正常に機能します。次に、カスタムメッセージを介して親にメッセージを送信します。それよりも、メッセージを2番目のコントロールに転送したい場合は使用する
SendMessage();
何も起こらなかった…。
私のカスタムメッセージは次のように定義されています:
#define WM_USERMESSAGE 0x0401
私が持っている別の質問は、どのように文字列を送信するのですか?なぜなら、lParamを介してメッセージを父親に送信すると、その値は72であると表示されますが、送信したテキストへの参照は表示されません。
これらはコードセグメントです:入力を取得した後に父親にメッセージを送信する子1:
case WM_KEYUP:
{
switch (wParam) {
case VK_RETURN:
{
length = GetWindowTextLength(hwnd);
GetWindowText(hwnd, buf,length);
SetWindowText(hwnd,NULL);
tempa = SendMessage(GetParent(hwnd), WM_USERMESSAGE,sizeof(buf),*buf);
return 0;
}
}
return 0;
}
父はメッセージを受け取り、それを転送しようとします:
case WM_USERMESSAGE:
{
int tempb = SendMessage(nhwnd, WM_USERMESSAGE, wParam, (LPARAM)"Hi");
}
子番号2はメッセージをリッスンしています。
case WM_USERMESSAGE:
{
SetWindowText(window, "hi");//(TCHAR*)lParam);
return 0;
}
(ご覧のとおり、静的文字列を使用して関数が機能するかどうかを確認しましたが、メッセージから情報を受け取ることができるように変更したいと思います)よろしくお願いします!