Projedeki herşeyin fontu Verdana olsun.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Jire
Üye
Mesajlar: 167
Kayıt: 07 Eki 2007 01:20

Projedeki herşeyin fontu Verdana olsun.

Mesaj gönderen Jire »

Bİraz emir gibi oldu şey, bütün formların fontları (mesela Verdana -- çok seviyorum :wink: ) tek bir fonksiyon ile değiştirmemin imkanı varmı?
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Projedeki herşeyin fontu Verdana olsun.

Mesaj gönderen Battosai »

Vardır.... objeler üzerinde topluca işlem yapma kodları mevcut onları incelersen yapabilirsin...genelde renk değiştrime veya edit içeriğin temizleme gibi kodlar verilmiştir ordaki .color yerine .Font.name='Verdana' yaptın mı işlemin gerçekleşir...
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Projedeki herşeyin fontu Verdana olsun.

Mesaj gönderen sabanakman »

Kod: Tümünü seç

type TControlCrack=class(TControl);

function Tara(Component:TComponent):Integer;
var i:Integer;
begin
  if Component is TControl then TControlCrack(Component).Font.Name:='Verdana';
  Result:=1;
  for i:=0 to Component.ComponentCount-1 do
   Result:=Result+Tara(Component.Components[i]);
end;
kodlarıyla bu mümkündür. Eğer Tara(Application); kodunu yazarsanız o uygulamada tüm bileşenlerin fontu Verdana olacaktır. Eğer Tara(Form2); şeklinde kullanılırsa sadece Form2 içindeki bileşenler taranacaktır. İyi çalışmalar.
En son sabanakman tarafından 23 Ağu 2008 07:54 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
mehmetcan
Üye
Mesajlar: 63
Kayıt: 14 Tem 2008 05:19

Re: Projedeki herşeyin fontu Verdana olsun.

Mesaj gönderen mehmetcan »

Eger tüm kontrolların parentfont özelligi true ise (default olarak true dur) dogrudan formun fontunu degiştirmek hepsinin degişmesine neden olur.

Form1.Font.Name:='verdana';

Formdaki tüm kontrolların fontunu verdana yapar.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Projedeki herşeyin fontu Verdana olsun.

Mesaj gönderen sabanakman »

Fakat :!: size, style, color gibi font özelliklerini de formdan alır :wink: . Vurgu yapması gereken bileşenler için parentfont özelliği false olarak bırakılıp bu özelliklerin ayarlanmış olma durumunda yukarıdaki kodlar uygun olanıdır. Eğer tüm proje sabit tek font olarak kalacaksa görsel bileşenlerin parentfont u true olmalı.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Jire
Üye
Mesajlar: 167
Kayıt: 07 Eki 2007 01:20

Re: Projedeki herşeyin fontu Verdana olsun.

Mesaj gönderen Jire »

Şu anda Self.Font.Name := 'Verdana'; 'yı kullanıyorum ama benim istediğim her forma bu kodu yerleştirmektense tek bir fonksiyon ile bütün formların fontlarını değiştirmek istiyorum.

Örnek vereyim 46 tane form var Form1 Form2 Form3 .... ben bunların hepsini teker teker yazmadan tek bir fonksiyon ile değiştirmek istiyorum. Mümkün mü bilemiyorum.

Cevaplar için teşekkür ederim.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Projedeki herşeyin fontu Verdana olsun.

Mesaj gönderen sabanakman »

Küçük bir eklenti ile sace formlar için çalışır hale getirelim.

Kod: Tümünü seç

function FormTara(Component:TComponent):Integer;
var i:Integer;
begin
  if Component is TForm then TForm(Component).Font.Name:='Verdana';
  Result:=1;
  for i:=0 to Component.ComponentCount-1 do
   Result:=Result+FormTara(Component.Components[i]);
end;
Not:Yukarıdaki cevabım hatalı olmuş, düzeltildi :) .
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
Z.D.
Üye
Mesajlar: 104
Kayıt: 01 Nis 2006 01:48
Konum: İstanbul

Re: Projedeki herşeyin fontu Verdana olsun.

Mesaj gönderen Z.D. »

Base form kullansaydın keşke. mesela bir anaform tasarla, diğer formlarıda bu form üzerinden oluştur.

ana form

Kod: Tümünü seç

unit base;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TBaseFrm = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
  protected

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  BaseFrm: TBaseFrm;

implementation


{$R *.DFM}

procedure TBaseFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin

end;

procedure TBaseFrm.FormCreate(Sender: TObject);
begin
  inherited;

  //TranslateComponent(Self);

  Font.Name := Graphics.DefFontData.Name;
  Font.Charset := Graphics.DefFontData.Charset;
end;

procedure TBaseFrm.FormShow(Sender: TObject);
begin

end;

{-------------------------------------------------------------------------------
-------------------------------------------------------------------------------}

end.

diğer 46 formuda base formdan inherit ederiz

Kod: Tümünü seç

unit CustomColumnU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, base;

type
  TCustomColumnf = class(TBaseFrm)
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  CustomColumnf: TCustomColumnf;

implementation


{$R *.dfm}


{-------------------------------------------------------------------------------
-------------------------------------------------------------------------------}
procedure TCustomColumnf.FormClose(Sender: TObject; var Action: TCloseAction);
begin

end;

{-------------------------------------------------------------------------------
-------------------------------------------------------------------------------}

procedure TCustomColumnf.FormCreate(Sender: TObject);
begin
  inherited;

end;

{-------------------------------------------------------------------------------
-------------------------------------------------------------------------------}
procedure TCustomColumnf.FormShow(Sender: TObject);
begin

end;

{-------------------------------------------------------------------------------
-------------------------------------------------------------------------------}


end.
Böylelikle baseformda uyguladığımız ayarlar diğer 46 form içinde geçerli olucaktır. Dikkat edilmesi gereken, form object inspector ayarlarında

Kod: Tümünü seç

parentfont=True
olmalı.
Jire
Üye
Mesajlar: 167
Kayıt: 07 Eki 2007 01:20

Re: Projedeki herşeyin fontu Verdana olsun.

Mesaj gönderen Jire »

Cevaplar için teşekkür ederim.
Aradığım cevapları buldum.
Cevapla