我想在TFROM中放置5个TEDIT,想实现任意设置五个TEDIT各自的字体,请问,怎样实现,怎样判断TEDIT是否获得光标?请各位帮个忙!!

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
        Edit5: TEdit;
        FontDialog1: TFontDialog;
        Button1: TButton;
        Edit6: TEdit;
        procedure Button1Click(Sender: TObject);
        procedure Edit1Enter(Sender: TObject);
        procedure Edit2Enter(Sender: TObject);
        procedure Edit3Enter(Sender: TObject);
        procedure Edit4Enter(Sender: TObject);
        procedure Edit5Enter(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      i:integer;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      if FontDialog1.Execute then
       case i of
       1: edit1.Font:=FontDialog1.Font;
       2: edit2.Font:=FontDialog1.Font;
       3: edit3.Font:=FontDialog1.Font;
       4: edit4.Font:=FontDialog1.Font;
       5: edit5.Font:=FontDialog1.Font;
       end;
    end;procedure TForm1.Edit1Enter(Sender: TObject);
    begin
       i:=1;
    end;procedure TForm1.Edit2Enter(Sender: TObject);
    begin
      i:=2;
    end;procedure TForm1.Edit3Enter(Sender: TObject);
    begin
       i:=3;
    end;procedure TForm1.Edit4Enter(Sender: TObject);
    begin
       i:=4;
    end;procedure TForm1.Edit5Enter(Sender: TObject);
    begin
       i:=5;
    end;end.
      

  2.   

    我是想通过用一个BUTTON来设置每个个TEDIT的字体。判断光标所在的TEDIT???
      

  3.   

    if activecontrol is tedit then
    with Tedit(activecontrol) do
    case tag of
    1:font := 你要设置的字体;
    2:font := 你要设置的字体;
    3:font := 你要设置的字体;
    4:font := 你要设置的字体;
    5:font := 你要设置的字体;
    end;
      

  4.   

    都不行啊,我的意思是在TFROM中加入一个TFontDialog,五个TEDIT选中一个EDIT,之后按BUTTON键就能设置该TEDIT的字体!!!
      

  5.   

    你click button时edit已经失去焦点,你可以添加一全局变量标记当前edit,然后在edit的onenter事件将变量设置为当前edit。
      

  6.   

    ptma(守望者)得方法简化一下设置5个edit的tag为0、1、2、3、4公用onenter,procedure TForm1.Edit1Enter(Sender: TObject);
    begin
       i:=TEdit(Sender).Tag;
    end;
      

  7.   

    if FontDialog1.Execute then
    begin
      for i := 0 to controlcount - 1 do
      if (controls[i] is tedit) then
      begin
        with (controls[i] as tedit) do
        begin 
          if focused then font := FontDialog1.Font;
        end;
      end;
    end;
      

  8.   

    谢谢,定义一个全部的变量问题解决了。
     public
        i:integer;
        { Public declarations }
      end;procedure Thjzsview.DBEdit5Click(Sender: TObject);
    begin
    i:=TdbEdit(Sender).Tag;
    end;procedure Thjzsview.Button1Click(Sender: TObject);
    beginif FontDialog1.Execute then
    begin
      if i=0 then DBEdit1.Font := FontDialog1.Font;
      if i=1 then DBEdit2.Font := FontDialog1.Font;
      if i=2 then DBEdit3.Font := FontDialog1.Font;
      if i=3 then DBEdit4.Font := FontDialog1.Font;
      if i=4 then DBEdit5.Font := FontDialog1.Font;
    end小弟感激各位的帮忙!
    end;