MdFontbox.pas
资源名称:delphi.rar [点击查看]
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:
Delphi控件源码
开发平台:
Delphi
- unit MdFontbox;
- 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.