unit UColorFont; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TFColorFont = class(TForm) BLineColor: TButton; BBrushColor: TButton; ComboBox1: TComboBox; BFont: TButton; Shape1: TShape; ColorDialog1: TColorDialog; FontDialog1: TFontDialog; procedure BLineColorClick(Sender: TObject); procedure BBrushColorClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure BFontClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FColorFont: TFColorFont; implementation {$R *.dfm} procedure TFColorFont.FormCreate(Sender: TObject); begin Combobox1.Style := csDropDownList; Combobox1.Items.Add('圆形'); Combobox1.Items.Add('椭圆'); Combobox1.Items.Add('矩形'); Combobox1.Items.Add('圆角矩形'); Combobox1.Items.Add('正方形'); Combobox1.Items.Add('圆角正方矩形'); Combobox1.ItemIndex :=0; //设置Shape1组件的初始形状 Shape1.Shape := stCircle; BLineColor.Caption :='边框颜色'; BBrushColor.Caption :='填充颜色'; BFont.Caption :='组合框字体'; end; procedure TFColorFont.ComboBox1Change(Sender: TObject); begin case Combobox1.ItemIndex of 0: Shape1.Shape := stCircle; 1: Shape1.Shape := stEllipse; 2: Shape1.Shape := stRectangle; 3: Shape1.Shape := stRoundRect; 4: Shape1.Shape := stSquare; 5: Shape1.Shape := stRoundSquare; end; end; procedure TFColorFont.BLineColorClick(Sender: TObject); begin if ColorDialog1.Execute then Shape1.Pen.Color := ColorDialog1.Color; end; procedure TFColorFont.BBrushColorClick(Sender: TObject); begin if ColorDialog1.Execute then Shape1.Brush.Color := ColorDialog1.Color; end; procedure TFColorFont.BFontClick(Sender: TObject); begin //设置组合框中可用的最小和最大字体 FontDialog1.Options := [fdLimitSize]; FontDialog1.MaxFontSize :=64; FontDialog1.MinFontSize :=12; //打开字体对话框 if FontDialog1.Execute then Combobox1.Font :=FontDialog1.Font; end; end.
应用颜色选择和字体选择对话框
最新推荐文章于 2024-09-08 18:13:56 发布