我现在用 TEdit的HWND  hEditWnd ,我想把它转成 TEdit 然后通过tedit1 := 'abc';  设置文字
但是我要怎么转换呢。

解决方案 »

  1.   

    直接向这个HWND发送字符不结了,干嘛还要转换
    var
      s:string;
    begin
      s:='abc';
      SendMessage(HWND, WM_SETTEXT, 0, LongInt(@s[1]));
      

  2.   

    var
      tmpCtrl : TWinControl;
    BEGIN
      tmpCtrl := FindControl(hEditWnd);
      if Assigned(tmpCtrl) then begin
        TEdit(tmpCtrl).Text := '';
      end;
      

  3.   

    如果真的要用, 我支持 FindControl + 1
    windows控件和delphi封装之间的关系尽在findcontrol里了 
      

  4.   

    如果访问的是本进程中的,直接用FindControl,如果是另外进程中的TEdit,需要注入到目标进程。