当前位置:主页>仓库管理软件> 列表

字体转换问题,各位帮忙啦 找管理软件

销售管理软件版1楼: 查了大富翁上的相关资料 感觉还是模糊.现在窗体上有几个Edit(FontName,FontSize,FontColor),一个ComboBox(FontStyle,item为粗体,一般)
用FontDialog 选择后
if FontDialog1.Execute then
begin
FontName.Text:=FontDialog1.Font.Name;
FontSize.Text:=IntToStr(FontDialog1.Font.Size);
FontColor.Text:=??//要求是int型的
end;
Font的style的值怎么取?
ComboBox的选项根据选择的粗细不同而变,然后再从这些Edit和combobox的值读出来,配给一个Label1的Font属性,
Label1.Font.Name:=P_FontName;
Label1.Font.Size:=P_FontSize;
Label1.Font.Color:=??//stringtocolor()有用吗?因为color的值是int型的
//Label1.Font.Style:=P_FontStyle;
想问一下各位怎么来实现?

2楼: 唉,高手不屑一顾,达人懒得回复,让我们这些刚入门的人咋办啊 如管理软件

3楼: 我再抬
各位,进来看看哦

4楼: FontColor.Text:=ColorToStr(FontDialog1.Font.Color);
或者
FontColor.Text:=IntToStr(Integer(FontDialog1.Font.Color));
强制转换一下就可以了.
Label1.Font.Color:=StringToColor(Edit5.text);

5楼: TFontStyle的定义是这样的,只能逐个判断:
TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut);

6楼: if FontDialog1.Execute then
begin
FontName.Text:=FontDialog1.Font.Name;
FontSize.Text:=IntToStr(FontDialog1.Font.Size);
FontColor.Text:=IntToHex(FontDialog1.Font.Color,2);
FontStyle.Text:='''';
if fsBold in FontDialog1.Font.Style then
FontStyle.Text:=''粗体'';
if fsItalic in FontDialog1.Font.Style then
FontStyle.Text:=FontStyle.Text+''斜体'';
if fsUnderline in FontDialog1.Font.Style then
FontStyle.Text:=FontStyle.Text+''下划线'';
if fsStrikeOut in FontDialog1.Font.Style then
FontStyle.Text:=FontStyle.Text+''删除线'';
end;

Label1.Font.Name:=FontName.Text;
Label1.Font.Size:=strtoint(FontSize.Text);
Label1.Font.Color:=StrToInt(''$''+FontColor.Text);
Label1.Font.Style:=[];
ComboBox1.Items.Clear;
ComboBox1.Items.Add(''粗体'');
ComboBox1.Items.Add(''斜体'');
ComboBox1.Items.Add(''下划线'');
ComboBox1.Items.Add(''删除线'');
case ComboBox1.ItemIndex of
0: Label1.Font.Style:=Label1.Font.Style+[fsBold];
1: Label1.Font.Style:=Label1.Font.Style+[fsItalic];
2: Label1.Font.Style:=Label1.Font.Style+[fsUnderline];
3: Label1.Font.Style:=Label1.Font.Style+[fsStrikeOut];
end;

销售管理软件版7楼: 多人接受答案了。