程序字体设置问题(50分)

  • 主题发起人 主题发起人 zhao0707
  • 开始时间 开始时间
Z

zhao0707

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序想用宋体,小四的字体,但必须每个窗口都设置一遍,请问:如何修改程序
界面的默认字体。我指的是窗体创建时,窗体默认字体就是宋体,小四
 
修改Delphi的tform类的代码,重构create事件,在该事件中设置默认值就行了。
所有的程序都可以不改了。
 
能说的在详细点吗,tform类的代码在哪个文件中,
 
在forms单元中,为了简单,你也可以重构tcustomform类找到以下代码段,然后添加两行代码就行了.

{ TCustomForm }

constructor TCustomForm.Create(AOwner: TComponent);
begin
; GlobalNameSpace.BeginWrite;
; try
; ; CreateNew(AOwner);
; ; if (ClassType <> TForm) and not (csDesigning in ComponentState) then
; ; begin
; ; ; Include(FFormState, fsCreating);
; ; ; try
; ; ; ; if not InitInheritedComponent(Self, TForm) then
; ; ; ; ; raise EResNotFound.CreateFmt(SResNotFound, [ClassName]);
; ; ; finally
; ; ; ; Exclude(FFormState, fsCreating);
; ; ; end;
; ; ; if OldCreateOrder then DoCreate;
; ; end;
; finally
; ; GlobalNameSpace.EndWrite;
; end;
end;
 
; ;这类问题确实不好解:我原在win98下开发的系统,现在在win2000下编辑后字体面目全非。
也不有没有好且简洁的解决方案?(不过 我发现一种公用字体:宋体)。
 
哥们好象不行啊,麻烦你说的具体一点好吗
 
我弄出来是这样:在程序设计时看不到变化,运行后看到了字体的变化,这么设计起来不
方便啊,不知道我哪里做的不对?
 
当然了,程序设计时使用的是控件的注册属性,你没有重新注册tform,
当然设计时看不出来了,我没有办法了
 
在设计主from时设置好字体,让所有的控件都继承父控件的属性不就行了[^]
 
楼上的兄弟,你说的我知道啊,但我想使我的窗体创建出来就是那个字体,这不就不用
重新设置了嘛
 
把下列东东导入注册表就可以了:[:)]
[HKEY_CURRENT_USER/Software/Borland/Delphi/5.0/FormDesign]
"DefaultFont"="宋体,9"

你在Delphi中新建出来的Form默认字体就是宋体9号了。
 
我在2000下面使用delphi的时候,如果将窗体字体设为宋体,该窗体的charset会变成
ANSI_CHARSET,编译后的程序在98下面就面目全非,改回DEFAULT_CHARSET才可以
 
to xianjun:
; ;我没有成功。Delphi5,update1,adoupdate1,2,win98,另外还有一个
专家GExperts 1.01。
我用regmon监视注册表了,发现Delphi启动时并没有读
[HKEY_CURRENT_USER/Software/Borland/Delphi/5.0/FormDesign]
"DefaultFont"="宋体,9"
这个键值。
你的改成功了么?
 
doxpix:
; ; 当然是成功了,这是Delphi未公开的一个键值,你要注意,不是原有的"Form Design"
是你自己要建立一个键叫“FormDesign”,中间没有空格的,呵呵
 
果真是高手,这个问题也困扰我好久了
 
xianjun:
; K!I 服了 U!
DFW好像现在有点问题,无法提出新的问题。
你到这里来拿分吧。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=652292
一百分不成敬意,请笑纳。
国庆快活。
 
doxpix:
; 呵呵,别这么客气!
; 国庆过得开心!
 
谢谢各位
 
后退
顶部