• 如何把一个程序中 Edit 中的文本赋给另一个程序的 Edit ? 回复 "Disk_" 的问题



    本例效果图:



    首先应该知道要接受文本的 Edit 的句柄, 这个有很多办法, 本例用了最简单的自我获取的办法.

    程序1: 准备接受文本的程序
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Edit1.Text := IntToStr(Edit1.Handle);
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Text := '程序1';
      Button1.Caption := '显示 Edit1 的句柄';
    end;
    
    end.
    

    程序2: 发送文本的程序
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Edit2: TEdit;
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      p: PChar;
      h: HWND;
    begin
      p := PChar(Edit1.Text);
      h := HWND(StrToIntDef(Edit2.Text, 0));
      SendMessage(h, WM_SETTEXT, StrLen(p), Cardinal(p));
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Text := '程序2';
      Button1.Caption := '把 Edit1 中的内容发送到 Edit2 中句柄指示的文本控件中...';
      Button1.WordWrap := True; {如果是 Delphi 2009 之前的版本, Button 可能不支持换行}
    end;
    
    end.
    

    这是发送文本, 如果是从对方接收文本要稍麻烦些, 参见:
    http://www.cnblogs.com/del/archive/2008/11/15/1334237.html

    另外: 获取任意窗口(或控件)的句柄, 可以参见:
    http://www.cnblogs.com/del/archive/2008/03/09/1097793.html

  • 相关阅读:
    week9-东东学打牌
    week9-咕咕东的目录管理器
    CSP-M2-C-咕咕东的奇妙序列
    CSP-M2-B
    P1084 疫情控制
    P2447 [SDOI2010]外星千足虫
    P4035 [JSOI2008]球形空间产生器
    P3389 【模板】高斯消元法
    P4051 [JSOI2007]字符加密
    P6114 【模板】Lyndon 分解
  • 原文地址:https://www.cnblogs.com/del/p/1345752.html
Copyright © 2020-2023  润新知