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.
我是想通过用一个BUTTON来设置每个个TEDIT的字体。判断光标所在的TEDIT???
if activecontrol is tedit then with Tedit(activecontrol) do case tag of 1:font := 你要设置的字体; 2:font := 你要设置的字体; 3:font := 你要设置的字体; 4:font := 你要设置的字体; 5:font := 你要设置的字体; end;
ptma(守望者)得方法简化一下设置5个edit的tag为0、1、2、3、4公用onenter,procedure TForm1.Edit1Enter(Sender: TObject); begin i:=TEdit(Sender).Tag; end;
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;
谢谢,定义一个全部的变量问题解决了。 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;
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.
with Tedit(activecontrol) do
case tag of
1:font := 你要设置的字体;
2:font := 你要设置的字体;
3:font := 你要设置的字体;
4:font := 你要设置的字体;
5:font := 你要设置的字体;
end;
begin
i:=TEdit(Sender).Tag;
end;
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;
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;