Có cách nào nhanh chóng và hiệu quả để áp dụng Phông chữ chung để sử dụng trong dự án không?Tính nhất quán của phông chữ trong suốt Dự án?
Bằng cách này, tôi có nghĩa là tôi muốn thiết lập một tên Font cụ thể mà tất cả các điều khiển trong dự án của tôi sẽ sử dụng như TButton, TEdit, TLabel, vv
Thông thường thiết lập Font cho mẫu chứ không phải là cụ thể điều khiển sẽ thay đổi tất cả các điều khiển trên Biểu mẫu đó thành Phông chữ được chỉ định. Tuy nhiên, có một vấn đề nhỏ với điều này, nếu bạn đã thay đổi Phông chữ theo cách thủ công, thì việc đặt Phông chữ theo Biểu mẫu sẽ không còn cập nhật các điều khiển đã được thay đổi trước đó theo cách thủ công nữa.
Idea 1
Tôi đã nghĩ đến việc sử dụng một Đối với loop và lặp lại qua từng thành phần trên hình thức của tôi và thiết lập Font theo cách này, chẳng hạn như:
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;
Nhưng làm điều này có vẻ rất lộn xộn, nó cũng sẽ là một số lượng đáng kể mã cho một nhiệm vụ đơn giản.
Idea 2
Tôi biết tôi có thể tự thay đổi các phông chữ lúc thiết kế từng người một cho mỗi kiểm soát, nhưng với một số hình thức phải trải qua điều này có thể mất thời gian và thậm chí sau đó tôi có thể của bỏ lỡ một điều khiển .
Idea 3
Tương tự như ý tưởng 2, một cách khác có thể là để xem các mẫu như Text (DFM) và Tìm và Thay thế phông chữ như vậy.
Về cơ bản tôi sẽ cho thống nhất trong phạm vi ứng dụng của tôi, và có một chữ sử dụng trong suốt là những gì tôi đang tìm kiếm để đạt được.
Tôi có thiếu cái gì đó hoàn toàn hiển nhiên ở đây không, là những gì tôi đang cố gắng làm quá mức cho một nhiệm vụ như vậy?
Nếu bạn thay đổi phông chữ của điều khiển theo cách thủ công, bạn cũng đặt thuộc tính 'ParentFont' thành' False'; thiết lập nó 'True' để trả về phông chữ mặc định (Parent) – kludg
Lén lút, tôi đã không nhận ra tài sản này đã được thay đổi! –
Trước khi tạo bất kỳ biểu mẫu nào, hãy đặt 'Application.DefaultFont.Name: = 'MS Sans Serif';' Với ParentFont được đặt thành true trong biểu mẫu của bạn như Serg chỉ ra. Để đặt phông chữ trong hộp thoại tin nhắn, hãy đặt 'Screen.MessageFont.Name'property. –