表單A用sendmessage發送了一個字串到表單B的TEdit控制元件,TEdit如何接收并顯示?
求代碼例子!
最好能是有訊息發來就觸發的接收事件。
uj5u.com熱心網友回復:
消除0回復
uj5u.com熱心網友回復:
AnsiString str = "aaaaaaa";SendMessageA(edit句柄, WM_SETTEXT, 0, (LPARAM)str.c_str());
uj5u.com熱心網友回復:
接管Edit的視窗程序,然后針對指定的訊息進行處理就行了。在Edit所在的單元的.h檔案中:
private:
void __fastcall NewWndProc(TMessage &Msg);
在Edit所在的單元的.cpp檔案中:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Edit1->WindowProc = NewWndProc;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::NewWndProc(TMessage &Message)
{
if (Message.Msg == WM_USER + 100)
{
ShowMessage("Edit1 收到 WM_USER + 100 的訊息");
}
Edit1->Dispatch(&Message);
}
然后在另外的程式或表單中,獲取到這個Edit1的句柄以后:
::SendMessage(hEdit, WM_USER + 100, 0, 0);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/130056.html
上一篇:求助:Sleep函式為啥無效果
下一篇:數字解密 大家給點思路吧
