大家都知道,Tfontstyles是一个类型集合,即:Tfontstyles=set of Tfontstyle.
Tfontstyle=(fsbold,fsunderline,fsItalic,fsDtrikeout).
我现在想把fsbold,fsunderline,fsItalic,fsDtrikeout显示在checkbox中,怎么做?这只是举个例子,我的项目中自己编写的控件中需要这么做,只是用Tfontstyle说说问题,道理是一样的!谢谢!!!
Tfontstyle=(fsbold,fsunderline,fsItalic,fsDtrikeout).
我现在想把fsbold,fsunderline,fsItalic,fsDtrikeout显示在checkbox中,怎么做?这只是举个例子,我的项目中自己编写的控件中需要这么做,只是用Tfontstyle说说问题,道理是一样的!谢谢!!!
解决方案 »
- telnet 21端口时发现一个奇怪的问题
- 一个form中有许多edit控件(30个左右),其text内容要写到数据库,如何用个循环语句来控制写到库中.
- 关于TADOQuery 的UpdateBatch的使用问题
- locate的用法
- 我在DELPHI6中连接EXCEL2000, 如何在EXCEL中当前行插入一行?
- 請問fast report中的另存為excel文件之后為什么有很多分號和昌號啊?答對者100分.waiting!
- 各位兄弟50分哪,教教我吧,如何用寫文件的方式來生成.xls的文件?
- 请大家帮我一个忙:如何把图片插入到sql数据库的image字段。在access数据库插入图片我已经解决,但同样方法在sql中确不行。不知为什么?
- 菜鸟求教一个钩子的问题
- TeeChart中,怎么把实际坐标转换为屏幕坐标?
- 各位大哥,有沒有一些關於三層架構的實例啊?
- 如何创建IE工具条,请高手指点下面的代码?
begin
cb_mb_jeaction_bit.Items.Add(!这里怎么写?!);
end;
是一个枚举型.
枚举型的实质是有序的数字.
可以做一个数组.
fontStyleStr:array [TFontStyle] of string = ('粗体','下划线','斜体','删除线');Tfontstyles=set of Tfontstyle.
是一个集合.
可以用in操作.例如:
var
fontstyles:TFontStyles;if fsbold in fontstyles then
checklistbox.items.add(fontStyleStr[fsbold]);再举一个例子:
var
i:TfontStyle;for i:=fsbold to fsDtrikeout do
begin
if s=fontStyleStr[i] then //这里的s就是你显示在界面上的字符串.想怎么弄就怎么弄
begin
.....//这里就可以做你想做的操作,i就是结果.
break;
end
end;明白的话,就可以举一反三了.其他枚举型和集合型都可以类似操作.
begin
cb_mb_jeaction_bit.Items.Add(!这里怎么写?!);
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}function ComponentToString(Component: TComponent): string;var
BinStream: TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result := StrStream.DataString;
finally
freeandnil(StrStream); end;
finally
freeandnil(BinStream)
end;
end;function StringToComponent(Value: string): TComponent;
var
StrStream: TStringStream;
BinStream: TMemoryStream;
begin
StrStream := TStringStream.Create(Value);
try
BinStream := TMemoryStream.Create;
try
ObjectTextToBinary(StrStream, BinStream);
BinStream.Seek(0, soFromBeginning);
Result := BinStream.ReadComponent(nil); finally
freeandnil(BinStream);
end;
finally
freeandnil(StrStream);
end;
end;function fontTostr(V: Tfont): string;
var
fd: TFontDialog;
begin
fd := TFontDialog.Create(nil);
fd.Font.Assign(v);
Result := ComponentToString(fd);
FreeAndNil(fd);
Result := StringReplace(Result, #13, '', [rfReplaceAll]);
Result := StringReplace(Result, #13, ';', [rfReplaceAll]);
end;function strTofont(V: string; font: Tfont): boolean;
var
fd: TFontDialog;
begin
Result := false;
if v = '' then
exit;
try
V := StringReplace(v, ';', #13, [rfReplaceAll]); fd := TFontDialog(StringToComponent(V));
font.Assign(fd.Font); FreeAndNil(fd);
Result := true;
except;
end;end;procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := fontTostr(Font);
ShowMessage(s);
strTofont(s, Font);
end;
initialization
RegisterClass(TFontDialog);
end.