我在D5开发人员指南上看到一个: 
var
  s: string;
begin
  s := 'hello';
  SendMessage(someEdit.Handle, WM_SETTEXT, 0, integer(PChar(s)));
end;
 
我的理解是把s的地址传过去,不知道是不是这样……sendmessage()的最后一个参数是起什么作用的呢?
SendMessage(
    HWND hWnd, // handle of destination window
    UINT Msg, // message to send
    WPARAM wParam, // first message parameter
    LPARAM lParam  // second message parameter
   );  
具体解释是:
lParam:Specifies additional message-specific information. 这样的解释对我这样的菜鸟来说,没有太多指导意义。

解决方案 »

  1.   

    你应该看 WM_SETTEXT的Windows SDK帮助An application sends a WM_SETTEXT message to set the text of a window. WM_SETTEXT  
    wParam = 0;                     // not used; must be zero 
    lParam = (LPARAM)(LPCTSTR)lpsz; // address of window-text string 
     ParameterslpszValue of lParam. Points to a null-terminated string that is the window text.  Return ValuesThe return value is TRUE if the text is set. It is FALSE (for an edit control), LB_ERRSPACE (for a list box), or CB_ERRSPACE (for a combo box) if insufficient space is available to set the text in the edit control. It is CB_ERR if this message is sent to a combo box without an edit control. Default ActionThe DefWindowProc function sets and displays the window text. ResFor an edit control, the text is the contents of the edit control. For a combo box, the text is the contents of the edit-control portion of the combo box. For a button, the text is the button name. For other windows, the text is the window title. 
    This message does not change the current selection in the list box of a combo box. An application should use the CB_SELECTSTRING message to select the item in a list box that matches the text in the edit control.