zoukankan      html  css  js  c++  java
  • 如何把一个程序中 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

  • 相关阅读:
    解决项目迁移至Kubernetes集群中的代理问题
    gorm系列-简单入门
    py操作mongodb总结
    zabbix添加监控项以及常用的键值
    监控服务器cpu、磁盘、模板以及自定义key
    Zabbix+Grafana打造高逼格监控系统
    基于Docker的Mysql主从复制搭建
    rbac权限管理
    Django的认证系统
    Django 中间件
  • 原文地址:https://www.cnblogs.com/del/p/1345752.html
Copyright © 2011-2022 走看看