GDI+中创建Font的构造函数有以下几个:
Font(IN HDC hdc);
Font(IN HDC hdc, IN const LOGFONTA* logfont);
Font(IN HDC hdc, IN const LOGFONTW* logfont);
Font(IN HDC hdc, IN const HFONT hfont);
Font( IN const FontFamily * family, IN REAL emSize, IN INT style = FontStyleRegular, IN Unit unit = UnitPoint );
Font( IN const WCHAR *familyName, IN REAL emSize, IN INT style = FontStyleRegular, IN Unit unit = UnitPoint, IN const * fontCollection = NULL);
可以划分为三类: 使用LOGFONT创建;使用HFONT创建;直接指定几个参数创建。
而HFONT可以使用LOGFONT创建,则使用HFONT创建的方法比较蹩脚,多此一举,而且还得自行销毁HFONT对象,麻烦啊。
直接指定参数创建方法更让人费解,这么少的参数,无法精确控制字体----style也太简单,无法创建FW_THIN,FW_LIGHT等风格字体。
还得决定,使用LOGFONT创建字体,但为啥必须有HDC呢??又让人费解了,我一直没搞懂~~,难道是坐标