我想将我用的Font的设置存在一个INI文件里。但在保存和读取方面对Font.Style和Font.CharSet不知道如何处理,请各位大侠帮忙解决下。谢谢
解决方案 »
- 各位大大..请教个问题...关于定做软件.
- DELPHI7+WinXP下开发的程序能不能在WIN98下运行.
- 请教一个关于var类型数据如何使用问题!
- >>> FastReport如何动态控件打印的内容(指文本打印内容)??
- delphi一个很有意思的现象,你们见过吗?[悬赏50分]
- 用过suipack控件包的高手,请帮助关于suiMainMenu控件的菜单,当鼠标移到下拉菜单某项时,该项背影显示一张图片,如何设置的?
- 急!装上TdbGrideh控件,现在TQuery控件bde连不上了????
- Socket 的多线程编程求救!!! 分不够再加!!
- 我加了一个DBMEMO,DBMEMO里显示的内容很多,可是DBMEMO里没有滚动条,可以加滚动条吗?谢谢!
- 请问如何做象Windows开始那样的菜单(包括有位图)?
- 请问操作线程的函数都有什么?
- WH_CALLWNDPROC类型的钩子问题
AnsiString __fastcall TFmMain::FontToString(TFont *f)
{ //调用: AnsiString lf=FontToString(Label1->Font);
AnsiString fs="";
int fsy=0;
if(f->Style.Contains(fsBold)) fsy=fsy|1;
if(f->Style.Contains(fsItalic)) fsy=fsy|2;
if(f->Style.Contains(fsUnderline)) fsy=fsy|4;
if(f->Style.Contains(fsStrikeOut)) fsy=fsy|8;
fs=AnsiString(f->Size)+","
+AnsiString(fsy)+","
+AnsiString((unsigned int)(f->Color))+","
+AnsiString((unsigned int)(f->Charset))+","
+f->Name;
return fs;
}bool __fastcall TFmMain::StringToCtrlFont(TControl *c,AnsiString s)
{ //调用: StringToCtrlFont(Label1,lf);
int sz=-1,sty=-1;
unsigned int clr=0;
unsigned int scs=0;
char fn[65]={0};
sscanf(s.c_str(),"%d,%d,%d,%d,%64c",&sz,&sty,&clr,&scs,fn);
if(sz>=0 && sty>=0 )
fn[64]=0;
else
return false;
c->Font->Charset=TFontCharset(scs);
c->Font->Name=AnsiString(fn);
c->Font->Size=sz;
c->Font->Color=TColor(clr);
if(sty&1) c->Font->Style=c->Font->Style<<fsBold;
else c->Font->Style=c->Font->Style>>fsBold;
if(sty&2) c->Font->Style=c->Font->Style<<fsItalic;
else c->Font->Style=c->Font->Style>>fsItalic;
if(sty&4) c->Font->Style=c->Font->Style<<fsUnderline;
else c->Font->Style=c->Font->Style>>fsUnderline;
if(sty&8) c->Font->Style=c->Font->Style<<fsStrikeOut;
else c->Font->Style=c->Font->Style>>fsStrikeOut;
return true;
}
http://www.eping.net/fourm/dispbbs.asp?boardID=8&ID=113