delphi如何通过sendMessage将Form2中的onMouseMove传递到Form1的Caption

解决方案 »

  1.   

    就是创建了一个application,然后里面有Form1和Form2两个窗体,如何通过sendmessage方法将Form2中的值传递到Form1中,初学不太会用。
      

  2.   

    在form1中加入uses form2,就可以调用form2的东西了
      

  3.   

    一、Form1
    1、
    uses uForm2;2、事件中
    begin
      Form2.Caption:='ABCDEFG';
    end; 
      

  4.   

    线程之间传递可以考虑使用
    procedure SendString(strMSG: string;hTargetWin:HWND);
    var
      Data: tagCOPYDATASTRUCT;
      pBuf: PChar;
    begin
      GetMem(pBuf, Length(strMSG) + 1);
      try
        ZeroMemory(pBuf, Length(strMSG) + 1);
        StrPCopy(pBuf, strMSG);
        Data.cbData:= Length(strMSG)*2+2;
        Data.dwData:= Length(strMSG)*2+2;
        GetMem(Data.lpData,Data.dwData);
        Data.lpData:= pBuf;
        sendMessage(hTargetWin, WM_COPYDATA, 0, Integer(@Data));
      finally
        FreeMem(pBuf);
      end;
    end;发送
     procedure TFrmMain.WM_CopyData(var MSG: TMessage);
    var
      Data: ^tagCOPYDATASTRUCT;
      strMSG: string;
      n, j: Integer;
      group: Tlistgroup;
      listitem: Tlistitem;
    begin
      Data := Pointer(Msg.lParam);
      strMSG := StrPas(PChar(Data.lpData));
    end;
    接收大概是这个意思 我直接截取的部分程序,用于把一个字符串从一个线程到另外一个线程,仅供参考