📄 mdfontcombo.pas
字号:
unit MdFontCombo;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TMdFontCombo = class(TComboBox)
private
FChangeFormFont: Boolean;
procedure SetChangeFormFont(const Value: Boolean);
public
constructor Create (AOwner: TComponent); override;
procedure CreateWnd; override;
procedure Change; override;
published
property Style default csDropDownList;
property Items stored False;
property ChangeFormFont: Boolean
read FChangeFormFont write SetChangeFormFont
default True;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Md', [TMdFontCombo]);
end;
{ TMdFontCombo class }
procedure TMdFontCombo.Change;
begin
// assign the font to the owner form
if FChangeFormFont and Assigned (Owner) and (Owner is TForm) then
TForm (Owner).Font.Name := Text;
inherited;
end;
constructor TMdFontCombo.Create (AOwner: TComponent);
begin
inherited Create (AOwner);
Style := csDropDownList;
FChangeFormFont := True;
end;
procedure TMdFontCombo.CreateWnd;
begin
inherited CreateWnd;
Items.Assign (Screen.Fonts);
// grab the default font of the owner form
if FChangeFormFont and Assigned (Owner) and (Owner is TForm) then
ItemIndex := Items.IndexOf (
(Owner as TForm).Font.Name);
end;
procedure TMdFontCombo.SetChangeFormFont(const Value: Boolean);
begin
FChangeFormFont := Value;
// refresh font
if FChangeFormFont then
Change;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -