如何在FontDialog打开设置完成后,把font的size和name复制给richedit (14分)

  • 主题发起人 主题发起人 seaerwang
  • 开始时间 开始时间
S

seaerwang

Unregistered / Unconfirmed
GUEST, unregistred user!
在什么事件里写什么语句?
 
在打开菜单中或按钮CLICK中(最好再将执行部分加在TFontDialog对象的onApply事件处理过程中

if FontDialog1.Execute then
begin
//如果用户有选取字符串就改变它否则全体字符串都更改
if RichEdit1.SelLength>0 then
RichEdit1.SelAttributes.Assign(FontDialog1.Font)
else
RichEdit1.DefAttributes.Assign(FontDialog1.Font);
end;
end;
 
放一个button,在onclick事件中
if fontdialog1.execute then
richedit1.Font.Assign(fontdialog1.Font);
 
将执行部分加在TFontDialog对象的onApply事件处理过程中的目的是:
在FontDialog打开后有一个按钮"应用",在onApply事件中加入代码使此按钮可用
 
FontDialog对话框Options的详细属性fdApplyButton被设为True时,会出现"应用"按钮,
当用户单击此按钮时触发onApply事件.
 
我的意思是我只要name和size
 
没明白你是什么意思?
 
我只要传递name和size,其他的font属性不要传递(用原来的)
 
if FontDialog1.Execute then
begin
//如果用户有选取字符串就改变它否则全体字符串都更改
if RichEdit1.SelLength>0 then
RichEdit1.SelAttributes.Assign(FontDialog1.Font)
else
RichEdit1.DefAttributes.Assign(FontDialog1.Font);
end;
end;
 
我实验过了
 
procedure TForm1.Button1Click(Sender: TObject);
begin
if fontdialog1.execute then
begin
showmessage(fontdialog1.Font.Name+':'+inttostr(fontdialog1.Font.Size));
end
end;
 
修正:前面发的一段代码多了一个end;
只要name和size:
RichEdit1.Font.Size := FontDialog1.Font.Size;
RichEdit1.Font.Name := FontDialog1.Font.Name;
 
多人接受答案了。
 
后退
顶部