精华内容
下载资源
问答
  • (最佳编程字体)fonts-windows-linux 常用字体包,中英文字体包集合,收录了常用的等宽编程字体,主要有DejaVuSansMono、Monaco、UbuntuMono、Times New、calibri、宋体&新宋体、微软雅黑等字体,支持windows-linux...
  • windows编程10-换字体

    2020-02-23 12:54:37
    字体 前面无论是使用文本输出函数还是 static 控件,字体都是默认的,比较丑陋,我们完全可以自己创建更加炫酷的字体。 创建字体使用 CreateFont 函数,它的原型是: HFONT CreateFont( int cHeight, //字体的逻辑...

    字体

    前面无论是使用文本输出函数还是 static 控件,字体都是默认的,比较丑陋,我们完全可以自己创建更加炫酷的字体。

    创建字体使用 CreateFont 函数,它的原型是:

    HFONT CreateFont(
        int cHeight,  //字体的逻辑高度
        int cWidth,  //字体的逻辑宽度
        int cEscapement,  //指定移位向量相对X轴的偏转角度
        int cOrientation,  //指定字符基线相对X轴的偏转角度
        int cWeight,  //设置字体粗细程度
        DWORD bItalic,  //是否启用斜体
        DWORD bUnderline,  //是否启用下划线
        DWORD bStrikeOut,  //是否启用删除线
        DWORD iCharSet,  //指定字符集
        DWORD iOutPrecision,  //输出精度
        DWORD iClipPrecision,  //剪裁精度
        DWORD iQuality,  //输出质量
        DWORD iPitchAndFamily,  //字体族
        LPCSTR pszFaceName  //字体名
    );
    

    这参数有些多,反正Ty记不住,一般都是复制的,然后就修改一下,接下来就用例子来说明吧。

    字体也是一种 GDI 对象,使用完后也要在 WM_DESTROY 消息中删除。

    创建完字体后并不能立即使用,还需要手动触发 WM_SETFONT 消息,让Windows 将当前字体设置为我们创建的字体。

    看示例

    LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
    	HDC         hdc;  //设备环境句柄
    	PAINTSTRUCT ps;
    	RECT        rect;
    	//定义两个画刷,请定义为静态变量
    
    	static HWND m_static1;
    	static HFONT m_font;
    	static HBRUSH hSolidBrush;
    	static HBRUSH hHatchBrush;
    	switch (message){
    	case WM_CREATE:
    		
    		m_font = CreateFont(
    			-18/*高度*/, -9/*宽度*/, 0/*不用管*/, 0/*不用管*/, 400 /*一般这个值设为400*/,
    			FALSE/*不带斜体*/, FALSE/*不带下划线*/, FALSE/*不带删除线*/,
    			DEFAULT_CHARSET,  //这里我们使用默认字符集,还有其他以 _CHARSET 结尾的常量可用
    			OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS,  //这行参数不用管
    			DEFAULT_QUALITY,  //默认输出质量
    			FF_DONTCARE,  //不指定字体族*/
    			L"华文行楷"  //字体名
    			);
    
    		m_static1 =CreateWindow(L"static", L"大家好,我是Ty\n 中国加油",
    			WS_CHILD /*子窗口*/ | WS_VISIBLE /*创建时显示*/ | WS_BORDER /*带边框*/ | SS_LEFTNOWORDWRAP,
    			20, 30, 220, 60, hwnd, (HMENU)1, m_hinst,0);
    
    		//设置控件字体
    		SendMessage(
    			m_static1,  //欲设置字体的控件句柄
    			WM_SETFONT,  //消息名(消息类型)
    			(WPARAM)m_font,  //字体句柄
    			NULL  //传空值即可
    			);
    
    		break;
    		//窗口绘制消息
    	case WM_PAINT:
    		
    		return 0;
    		//窗口销毁消息
    	case WM_DESTROY:
    		//释放资源
    		DeleteObject(m_font);//删除创建的字体
    		PostQuitMessage(0);
    		return 0;
    	}
    	return DefWindowProc(hwnd, message, wParam, lParam);
    }
    

    结果:
    在这里插入图片描述

    展开全文
  • 在窗口的第二行显示26个字母,字体从正常到斜体,颜色从黑色到天蓝色不断变换。 再由一个跳动字母改成2个。 3.将""XXX大学欢迎你!""从左到右及从右到左移动 4.在屏幕中不断闪现不同的英文字母。要求每次闪现一个...
  • 字体和后面章节中讲到的画笔、画刷的使用方法是一样的,都是调用SelectObject()函数来把字体句柄与设备文本句柄进行绑定,同时得到绑定前的字体句柄,用完之后,不能忘记把原来的字体句柄绑定回去,这样,后面如果...

    1、输出文字

    要在窗口描画文字或图像,首先要先取得设备文本(Device Contexts)。取设备文本一般有2种方法,BeginPaint()函数和GetDC()函数。描画结束后必须调用EndPaint()函数和ReleaseDC()来释放设备文本。

    要在窗口的某个位置描画文字,必须取窗口的有效区域(ClientRect),因为窗口的边框、菜单、工具条、状态条等部分是不能利用的。例如,要在窗口的正中间写一个字,用窗口宽度和高度的一半来取正中位置是不对的,除非这个窗口无任何边框、菜单、工具条、状态条等。正确的方法是先定义一个区域变量(类型为RECT),然后用GetClientRect()函数取出窗口有效区域放入这个变量中。最后,调用DrawText()函数在矩形区输出文字。所谓区域类型RECT其实就是一个存放矩形块座标的结构体,下面是RECT的原型。  

    typedef struct tagRECT
    {
        LONG    left;
        LONG    top;
        LONG    right;
        LONG    bottom;
    } RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;


            case WM_PAINT: //重画窗口消息
                hdc = BeginPaint(hWnd, &ps);//开始描画
                // TODO: Add any drawing code here...
                RECT rt;
                GetClientRect(hWnd, &rt);//取窗口有效区域
                DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);//显示文字
                EndPaint(hWnd, &ps);//结束描画
                break;


    使用BeginPaint()函数、EndPaint()函数时会同时得到一个结构体,里面有画图时的一些状态,一般为系统保留使用。


    设置字体颜色:SetTextColor()

    WINGDIAPI COLORREF WINAPI SetTextColor (HDC, COLORREF) //COLORREF -->DWORD-->unsigned long 前两个字节保留,后边是蓝绿红

    如:SetTextColor(hdc, RGB(255, 0, 0));//0x0000FF 红色


    设置文字背景色:SetBkColor

    COLORREF SetBkColor( HDC hdc, COLORREF crColor );  

    设置背景模式:SetBkMode

    mode是要设置的模式,其值可以为OPAQUE和TRANSPARENT

    OPAQUE的方式是用当前背景的画刷的颜色输出显示文字的背景,而TRANSPARENT是使用透明的输出,也就是文字的背景是不改变的。

    说白点,如果当前的SetBkColor是蓝色,而窗体是白色,那么SetBkMode为OPAQUE时,文字的背景色就是蓝色,设置为TRANSPARENT时,背景色就是白色,或者说是没有背景色



    另外一种文字输出 :TextOut

    BOOL TextOut(
    HDC hdc, // 设备描述表句柄
    int nXStart, // 字符串的开始位置 x坐标
    int nYStart, // 字符串的开始位置 y坐标
    LPCTSTR lpString, // 字符串
    int cbString // 字符串中字符的个数
    );
    如:TextOut(hdc, 30, 30, str, strlen(str));  


    GetDC()函数与BeginPaint()函数的区别

    在BeginPaint()函数的帮助上清楚地写着,这个函数将自动更新有效区。原来窗口只要发生任何改变,操作系统都会发送一个WM_PAINT消息来通知窗口刷新,在
    WM_PAINT中使用BeginPaint()函数,这个函数自动告诉操作系统窗口已经是最新的了。而GetDC()没有这个功能,因此GetDC()一般不用于WM_PAINT消息中,如果一定要在WM_PAINT中使用,那就要用ValidateRect()函数来手动刷新窗口。  

            case WM_PAINT:

                hdc = GetDC (hWnd);
     
                SetTextColor(hdc, 0x0000FF);
                SetBkColor(hdc, 0xCDFAFF);
                TextOut(hdc,30,20,szHello,(int)strlen(szHello));
     
                //下面三行程序如果没有,窗口不正常地闪动
                RECT rt;
                GetClientRect(hWnd, &rt);
                ValidateRect(hWnd, &rt);    //让窗口有效区变得有效
                ReleaseDC (hWnd, hdc);

                break;

    2、创建字体

    CreateFont()

    SelectObject()

    。。。

    SelectObject()

    DeleteObject()

    在一行中显示不下时,可以改变字体的大小来使一行能够显示。字体和后面章节中讲到的画笔、画刷的使用方法是一样的,都是调用SelectObject()函数来把字体句柄与设备文本句柄进行绑定,同时得到绑定前的字体句柄,用完之后,不能忘记把原来的字体句柄绑定回去,这样,后面如果还有程序的话,可以不受任何影响。  

    创建字体是用CreateFont()函数来实现的,这儿说的“创建字体”并不是自创一个欧体还是柳体,而是创建一个字体对象,其中包括文字的宽度、高度、角度等许多信息。创建的字体用完之后也一定要手动删除,删除字体用DeleteObject()函数。  

    例子:

       TCHAR str[] = "123";

        PAINTSTRUCT ps;
        HDC hdc;

        HFONT hFont, hFontOld;
        int  width, height;

            case WM_PAINT:
                RECT rc;
                hdc = BeginPaint(hWnd, &ps);
                GetClientRect(hWnd, &rc);
                SetBkMode(hdc, TRANSPARENT);
                width = (rc.right - 20) / (int)strlen(str);
                height = rc.bottom - 20;
                hFont = CreateFont(
                            height,      //字体的逻辑高度
                            width,       //逻辑平均字符宽度
                            0,           //与水平线的角度
                            0,           //基线方位角度
                            FW_REGULAR,  //字形:常规
                            FALSE,       //字形:斜体
                            FALSE,       //字形:下划线
                            FALSE,       //字形:粗体
                            GB2312_CHARSET,          //字符集
                            OUT_DEFAULT_PRECIS,      //输出精度
                            CLIP_DEFAULT_PRECIS,     //剪截精度
                            PROOF_QUALITY,           //输出品质
                            FIXED_PITCH | FF_MODERN, //倾斜度
                            "隶书"                   //字体
                        );  
                hFontOld = (HFONT)SelectObject(hdc, hFont);//选择字体
                SetTextColor(hdc, 0xC0C0C0);
                TextOut(hdc, 10, 10, str, (int)strlen(str));
                SelectObject(hdc, hFontOld);//选择旧字体
                DeleteObject(hFont);        //删除新字体  
                EndPaint(hWnd, &ps);
                break;


    展开全文
  • 更改字体颜色,大小,样式彩色Hello World!Weicome to my program
  • 原文链接:Ubuntu16.04 安装 “宋体,微软雅黑,Consolas雅黑混合版编程字体” 等 Windows 7 下的字体   Windows平台下,“宋体”、“微软雅黑”、“Courier New(编程字体)”用的比较多,看的也习惯了。 那如何...

    原文链接:Ubuntu16.04 安装 “宋体,微软雅黑,Consolas雅黑混合版编程字体” 等 Windows 7 下的字体

     

    Windows平台下,“宋体”、“微软雅黑”、“Courier New(编程字体)”用的比较多,看的也习惯了。

    那如何在 Ubuntu下也安装这些字体呢?

    操作步骤如下:

    第一步:从 Windows 7 系统下字体文件夹(C:\Windows\Fonts) ,拷贝如下文件到当前Ubuntu用户目录  /usr/software/fonts/Fonts

    宋体:simsunb.ttf 和 simsun.ttc
    
    微软雅黑:msyhbd.ttf
    
    Courier New:courbd.ttf、courbi.ttf、couri.ttf 和 cour.ttf
    
    WPS Office 所需字体:wingding.ttf、webdings.ttf、symbol.ttf、WINGDNG3.TTF、WINGDNG2.TTF、MTExtra.ttf

    第二步:新建字体存放目录 windows-font

    sudo mkdir /usr/share/fonts/truetype/windows-font

    第三步:拷贝字体到wiondow-font目录下

    sudo cp /usr/software/fonts/Fonts/* /usr/share/fonts/truetype/windows-font

    第四步:修改权限,并更新字体缓存

    sudo chmod -R 777  /usr/share/fonts/truetype/windows-font
    cd /usr/share/fonts/truetype/windows-font
    sudo mkfontscale
    sudo mkfontdir
    sudo fc-cache -fv

    第五步:重启下系统吧!

    sudo reboot

    参考自:https://www.cnblogs.com/52php/p/5678005.html

    展开全文
  • 以我觉得最喜欢的Monaco 为例 ...2. 双击字体文件安装字体,Monaco即应用到windows应用程序中 注意:Putty不认为Monaco是等宽字体,所以默认情况下即使系统安装了Monaco字体,也不会出现在Putty的字体

    以我觉得最喜欢的Monaco 为例

    windows 7:

    1. Dowload Monaco_5.1.ttf from http://monaco-font.com/downloads.html

    2. 双击字体文件安装字体,Monaco即应用到windows应用程序中

    注意:Putty不认为Monaco是等宽字体,所以默认情况下即使系统安装了Monaco字体,也不会出现在Putty的字体设置选项中。解决办法:进入Putty Configuration->Window->Appearance. 勾选Font Settings 中的‘Allow selection of variable-pitch fonts’ 选项,Monaco即出现在字体列表中。

    Red hat Enterprise Linux 5:

    1. Download monaco_linux.ttf from http://monaco-font.com/downloads.html to some directory(ex, your home dir)

    2. Excute the following cmds:

    $ sudo mkdir /usr/share/fonts/truetype
    $ sudo cp monaco_linux.ttf /usr/share/fonts/truetype/

    $ cd /usr/share/fonts/truetype
    $ sudo mkfontscale
    $ sudo mkfontdir

    $ sudo chkfontpath --add /usr/share/fonts/truetype
    $ sudo fc-cache -fv

    注意:You can always copy the fonts in ~/.fonts directory if you don’t have root access.


    References:

    http://blog.mayfounder.net/2009/02/10/adding-a-new-ttf-font-to-linux/

    http://monaco-font.com/

    展开全文
  • NULL 博文链接:https://410063005.iteye.com/blog/1953455
  • DroidSansMono.ttf字体效果
  • 如题,应该调用什么API函数来改变字体的颜色呢?求帮助!
  • windows控制台字体颜色的编程

    千次阅读 2009-06-03 11:19:00
    windows.h 函数原型: BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput , WORD wAttributes ); wAttributes 的取值含义对应如下: ...
  • Consolas.ttf (Consolas字体,编程字体

    千次下载 热门讨论 2013-09-16 14:32:32
    Consolas是除了Monaco(下载地址: http://download.csdn.net/detail/jiaoxiaogu/4317959)以外我最喜欢的编程字体。特别是在windows的命令行(CMD)中使用(是的,你没看错,cmd也可以自定义字体)。 Monaco在cmd中...
  • Windows平台下,“宋体”、“微软雅黑”、“Courier New(编程字体)”用的比较多,看的也习惯了。那如何在 Ubuntu下也安装这些字体呢? 操作步骤如下: 第一步:从 Windows 7 系统下字体文件夹(C:\Windows\Fonts)...
  • windows编程之文本输出(字体渐变)

    千次阅读 2013-12-09 18:53:00
    #include<windows.h> #include #include const double PI = 3.1415926; LRESULT CALLBACK WndProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message ...
  • Source Code Pro 编程字体

    2018-08-28 10:20:00
    Source Code Pro 编程字体 Source Code Pro:是 Adobe 公司号称最佳的编程字体,而且还是开源的  它非常适合用于阅读代码,支持 Linux、Mac OS X 和 Windows 等操作系统,而且无论商业或个人都可以...
  • API之文本和字体函数 (windows 编程

    千次阅读 2009-09-19 12:12:00
    转载:from http://hi.baidu.com/cnagui/blog/item/9fd961fb0993ec176c22eb7b.html AddFontResource 在Windows系统中添加一种字体资源 CreateFont 用指定的属性创建一种逻辑字体 CreateFontIndirect 用指定的...
  • 编程字体Source Code Pro 安装

    万次阅读 2018-11-13 22:22:11
    文章转自 一款堪称完美的编程字体Source Code Pro 通过此文可以学习如在在Linux和windows下安装新的字体
  • Consolas是除了SourceCodePro以外我最喜欢的编程字体。特别是在windows的命令行(CMD)中使用(是的,你没看错,cmd也可以自定义字体)。 Consolas相对字符间距都很合适,完美识别0,o;1,l,i。 -----------------...
  • 转至:...另外,还在使用Windows XP 、的同学,如果您希望显示到如截图中清晰的字体效果,则必须安装微软的ClearType设置程序对清晰度进行设置。10. Courier也叫Courier New,这大...
  • Windows编程——Unicode

    2018-11-26 18:55:01
    上一篇我们学习了Windows编程的文本及字体输出,在以上几篇的实例中也出现了一些带有“TEXT”的Windows宏定义,有朋友留言想了解一些ANSI和Unicode编程方面的内容,本章就来了解和学习一些Windows下关于ANSI和...
  • 发现IDEA中有个字体:Source Code Pro,这个款字体用起来还不错,个人觉得比Consolas、Courier New这两款比较常用的字体都要好用,我开发环境用的Windows10系统,查了下Windows10系统没有这个字体,所以这个博客就是...
  • Lucida Console 字体 (编程字体 内附Lucida Sans)

    千次下载 热门讨论 2014-07-29 11:40:56
    曾经有个段子说的是,一眼能认出黑客的原因就是...Lucida Console也是英文版Windows XP和Windows CE中蓝屏死机和Windows记事本的默认字体 ----------- Lucida Console是等宽字体字体间距微紧凑,字体圆滑,略“扁”
  • //程序用来演示位图的加载和使用 #include "stdafx.h" ...#include "windows11.h" HINSTANCE g_hInst = NULL; int g_type=-1; void DrawBmp( HDC hDC ) { //加载位图资源 HBITMAP hBmp = LoadBitmap( g_hInst,
  • 等宽编程字体Consoles YaHei

    千次阅读 2015-09-12 01:08:12
    英文字体是Consolas, 中文字体是微软雅黑。 已经进行了修改与合并,1个中文宽度=2个英文宽度 ...15/09/12 Consolas YaHei v1.0 初始版本 使用取自Windows 8.1的微软雅黑 v6.14与Consolas v5.3...
  • 一款不错的编程字体Source Code Pro

    千次阅读 2018-05-19 21:23:23
    Source Code Pro 是由大名鼎鼎的 Adobe 公司发布的一款开源且完全免费的等宽编程字体,它非常适合用于阅读代码,支持 Linux、Mac OS X和 Windows 等操作系统,而且无论商业或个人都可以免费使用,相当厚道。...
  • windows编程入门

    2011-10-26 12:00:00
    1.1.3句柄:用来标记项目的,如模块、任务、实例、文件、内存块、菜单、控件、字体、资源、GDI等等。是一个int 类型的数字 win32编程实质是创建或者获取句柄,操作句柄 1.1.4 程序入口winmain: 原型:int ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 757
精华内容 302
关键字:

windows编程字体