c 语言程序字体问题

c 语言程序字体问题,第1张

DOS 命令窗的字体没办法变得很大。

如果只输出数字,你可以用图案的方法自己定10个数字。例如:2

*****

++++*

*****

*++++

*****

(+号处用空白)

c 语言 Win32 API 的窗可以自己设置。

自己可以定义字体,例如

LOGFONT lf

lf.lfHeight = 240// 高

lf.lfWidth = 120// 宽

lf.lfEscapement = m_ang

lf.lfOrientation = m_ang//方向

lf.lfWeight = 520 // 粗细

lf.lfItalic = 0

lf.lfUnderline = 0// 有无下划线

lf.lfStrikeOut = 0

lf.lfCharSet = GB2312_CHARSET//中文国标码字符集

lf.lfOutPrecision = 0

lf.lfClipPrecision = CLIP_STROKE_PRECIS

lf.lfQuality = 0

lf.lfPitchAndFamily = 0

strcpy(lf.lfFaceName, "MS Song")//字体名

然后 用下面函数 建 字体

HFONT CreateFontIndirect(

const LOGFONT *lplf

)

再下来是“画字体", 调SDK 函数

BOOL TextOut(

HDC hdc, // handle to DC

int nXStart, // x-coordinate of starting position

int nYStart, // y-coordinate of starting position

LPCTSTR lpString, // character string

int cbString // number of characters

)

而不是简单地用 printf("%d",i)

用C++和MFC要简单些。不过不符合你的C语言要求。

楼上的回答会导致整个字体都变了,可行的办法如下,虽然麻烦,但是功能却强大 HWND desk=GetDesktopWindow()

HDC dskDC=GetWindowDC(desk)

char *msg="时间到啦"

//定义字体的属性

LOGFONT fontRect

memset(&fontRect,0,sizeof(LOGFONT))

fontRect.lfHeight=-50//字体的高度

fontRect.lfWeight=FW_HEAVY//字体的粗细

lstrcpy(fontRect.lfFaceName,"宋体")

HFONT hFont=CreateFontIndirect(&fontRect) //创建字体

HFONT hOld=::SelectObject(dskDC,hFont)//引用上面的字体

::SetTextColor(dskDC,RGB(0,255,0))

::SetBkColor(dskDC,RGB(255,0,0))

::TextOut(dskDC,GetSystemMetrics(SM_CXSCREEN)/2 - 100 ,GetSystemMetrics(SM_CYSCREEN)/2,msg,lstrlen(msg))

::SelectObject(dskDC,hOld)

::DeleteObject(hFont)

ReleaseDC(desk,dskDC)

(主菜单)“编辑”----“配置”----“颜色和字体”标签页,在“窗口”中选择你要编辑字体的那个窗口,“元素”中有很多可以让你选择的,如test就是你的编写的程序文本,再在右边的“字体”中选择你要的字体和大小,选择Fixedsys字体的10号字,字体比较不错,而大小也差不多。不过每一个人可能感觉不一样,选择你自己喜欢的吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12074263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存