title: Font consistency throughout Project?
body: <p><strong>Is there a quick and effective way of applying a global Font to be used in a project?</strong></p>
  
  <p>By this I mean I would like to set a specific Font name that all controls in my project will use such as <code>TButton</code>, <code>TEdit</code>, <code>TLabel</code> etc.</p>
  
  <p>Typically setting the Font for the Form rather than a specific control will change all the controls on that Form to the Font specified.</p>
  
  <p>There is a slight issue with this however, if you have manually changed a Font on a specific control, then setting the Font by the Form will no longer update those controls that have previously been changed manually.</p>
  
  <p><strong>Idea 1</strong></p>
  
  <p>I was thinking of using a For loop and iterating through each component on my Forms and setting the Font this way, such as:</p>
  
  <pre><code>procedure TForm1.FormCreate(Sender: TObject);
  var
    i: Integer;
  begin
    with TForm(Self) do
    begin
      for i := 0 to ComponentCount - 1 do
      begin
        if Components[i] is TButton then
        begin
          TButton(Components[i]).Font.Name  := 'MS Sans Serif';
          TButton(Components[i]).Font.Size  := 8;
          TButton(Components[i]).Font.Style := [fsBold];
        end;
  
        if Components[i] is TLabel then
        begin
          TLabel(Components[i]).Font.Name  := 'MS Sans Serif';
          TLabel(Components[i]).Font.Size  := 8;
          TLabel(Components[i]).Font.Style := [fsBold];
        end;
      end;
    end;
  end;
  </code></pre>
  
  <p>But doing this seems very messy, it will also be a considerable amount of code for a simple task.</p>
  
  <p><strong>Idea 2</strong></p>
  
  <p>I know I could manually change the fonts at design time one by one for each control, but with several forms to go through this could take time and even then I might of missed a control.</p>
  
  <p><strong>Idea 3</strong></p>
  
  <p>Similar to Idea 2, another way could be to view the Form as Text (DFM) and Find and Replace the font that way.</p>
  
  <hr>
  
  <p>Basically I am going for consistency within my Application, and having one Font used throughout is what I was looking to achieve.</p>
  
  <p>Am I missing something completely obvious here, is what I am trying to do overkill for such a task? </p>