一个程序向另一个程序的控件发送消息(高手请入)(100分)

  • 主题发起人 主题发起人 EdwardZhou
  • 开始时间 开始时间
E

EdwardZhou

Unregistered / Unconfirmed
GUEST, unregistred user!
用delphi制作的一个程序,有两个richedit,一个位于panel上(记为B,另一个记为A),再另外的一个程序中,对A用<br>SendDlgItemMessage(hwnd,ctrlID,WM_SETTEXT,0,Integer(str))可以顺利的设置richtext的文字,可是对B用却不行,为什么?(hwnd,ctrlID都正确得到了,str为string)。我用的完全是同一段代码,只改了ctrlID而已。大致代码:<br>hwnd := FindWindow(nil,'窗口标题');<br>SendDlgItemMessage(hwnd,ctrlID,WM_SETTEXT,0,Integer('test'));
 
放在Panel上的控件的消息是由Panel来处理的,所以你应该把消息发给<br>Panel才行
 
WM_SETTEXT消息系统实现得极其复杂,看看FileMapping或许有帮助,<br>Windows都是用共享内存实现WM_SETTEXT的。
 
位于panel上面的属于子窗体。不能用findwindow<br>要用findwindowex(findwindow(nil,'主窗口标题'),0,'子窗口标题',nil)
 
然后直接用sendmessage()发送消息
 
多人接受答案了。
 
后退
顶部