如有人能回答此问题,赠送真正的中文API大全一套,绝对真正的大全,不是网上叫windows api大全chm那本,那本虽然叫大全但大部分函数都没有,我保证我手里这本每一个函数都可以查到.问题如下:微软新推出的据说将要取代GDI图形函数的GDI+可能有缺陷,设置不了字体宽度!!!LOGFONTA logfonta;
logfonta.lfHeight=100;
logfonta.lfWidth=30;//字体宽度
logfonta.lfEscapement=0;
logfonta.lfOrientation=0;
logfonta.lfWeight=0;
logfonta.lfItalic=0;
logfonta.lfUnderline=0;
logfonta.lfStrikeOut=0;
logfonta.lfCharSet=0;
logfonta.lfOutPrecision=0;
logfonta.lfClipPrecision=0;
logfonta.lfQuality=0;
logfonta.lfPitchAndFamily=0;
strcpy(logfonta.lfFaceName,"宋体");HFONT hfont=CreateFontIndirect(&logfonta);//gdi方法
用了上面的结构,如用gdi,上面的logfonta可以设置宽度,改用DGI+
Font font(hdc,&logfonta);
只有字体、加粗、加划线是好使的.不会是GDI越出越差了吧???
logfonta.lfHeight=100;
logfonta.lfWidth=30;//字体宽度
logfonta.lfEscapement=0;
logfonta.lfOrientation=0;
logfonta.lfWeight=0;
logfonta.lfItalic=0;
logfonta.lfUnderline=0;
logfonta.lfStrikeOut=0;
logfonta.lfCharSet=0;
logfonta.lfOutPrecision=0;
logfonta.lfClipPrecision=0;
logfonta.lfQuality=0;
logfonta.lfPitchAndFamily=0;
strcpy(logfonta.lfFaceName,"宋体");HFONT hfont=CreateFontIndirect(&logfonta);//gdi方法
用了上面的结构,如用gdi,上面的logfonta可以设置宽度,改用DGI+
Font font(hdc,&logfonta);
只有字体、加粗、加划线是好使的.不会是GDI越出越差了吧???
也不是只有部分类型的字体支持调整宽度,因为在GDI中每种字体都可以调整宽度,而同样用这个结构GDI+就不行,而且本人并未查到GDI+有其它方法设字宽.想与大家讨论的是将来的GDI+(据说要取代GDI)是否连字宽都不支持,那还谈什么取代GDI呀!!至于楼上说查API用MSDN当然是够了,不过我想不是每个人英文和中文都看着一样舒服吧,遇到一个新函数我感觉还是看中文的舒服一些,况且有这种好东东为什么不要呢?
这是我的DGI+教材上的一句话,并且经过我的验证,它确实不错,例如直接支持文字的透明,过度色,或图形格式的增加例如jpeg\tif\png等.
另外我在网上也见到过,GDI+将是GDI的新版本的说法,我理解会不会就像C++和C的关系.但我现在最想知道的还是怎样设置字宽这个初级问题,实在让我太头痛了,我的软件其它部分都完成了就差这一个把整个软件的完工日期给卡住了,希望哪位好心人能帮帮我!!!
中文API大全一套能寄一份給我麼? [email protected]
HFONT hFont=CreateFont(iHeight, iWidth, 0,0, FW_NORMAL,
0,0,0,
DEFAULT_CHARSET,
OUT_TT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUANTITY,
DEFAULT_PITCH | FF_DONTCARE,
TEXT("宋体"));Font font(hdc, hFont);
{
HFONT hFont;
hFont=CreateFont(100/*高度*/, 10/*宽度*/, 0,0, FW_NORMAL,
0,0,0,
DEFAULT_CHARSET,
OUT_TT_PRECIS,
CLIP_DEFAULT_PRECIS,
OUT_DEFAULT_PRECIS,
DEFAULT_PITCH | FF_DONTCARE,
TEXT("宋体"));
SolidBrush brush(Color(255,0,0,255));
PointF pointF(5,5);
Font font(hdc,hFont);
Graphics graphics(hdc);
graphics.DrawString(L"中国人是龙的子孙",-1,&font,pointF,&brush);
}
输出的文字依然无法改变字宽,这种方法我在最初用那个字体结构时也同时用过此方法试过,不好使,今天看到楼上朋友的提醒又试了一次不过仍不好使,不知道GDI+用何种方法设字宽,但感觉上应该是可以设置的,要不然这个简单的一个要求都达不到,那GDI+的出现就真的让人怀疑其出现的意义了,或者可以说这难道真的是微软产品中的一个缺陷吗?如果是缺陷也太大点了吧!微软竟会犯这种错误!!!!!!!!!!!!!!!!!!!!!!!!希望csdn中的高手们帮助解答此问题!!!!!!!!!!!!!!!!!
希望csdn中的高手们帮助解答此问题!!!!!!!!!!!!!!!!!
希望csdn中的高手们帮助解答此问题!!!!!!!!!!!!!!!!!如能有高手解答此问题,本人将真诚的向您表示感谢!