代码如下:

#include<windows.h>
#include<math.h>
#include<stdio.h>
const double PI = 3.1415926;LRESULT CALLBACK WndProc(HWND hwnd,      // handle to windowUINT uMsg,      // message identifierWPARAM wParam,  // first message parameterLPARAM lParam   // second message parameter
);int WINAPI WinMain(HINSTANCE hInstance,      // handle to current instanceHINSTANCE hPrevInstance,  // handle to previous instanceLPSTR lpCmdLine,          // command lineint nCmdShow              // show state
)
{WNDCLASS wndclass;wndclass.cbClsExtra = 0;wndclass.cbWndExtra = 0;wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);wndclass.hInstance = hInstance;wndclass.lpfnWndProc = WndProc;wndclass.lpszClassName = "我的窗口";wndclass.lpszMenuName = NULL;wndclass.style = CS_HREDRAW | CS_VREDRAW;RegisterClass(&wndclass); //注册窗口类HWND hwnd;hwnd = CreateWindow("我的窗口", "窗口", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, NULL, NULL, hInstance, NULL);ShowWindow(hwnd, SW_SHOWNORMAL);UpdateWindow(hwnd);MSG Msg;while(GetMessage(&Msg, NULL, 0, 0)){TranslateMessage(&Msg); DispatchMessage(&Msg); }return 0;
}LRESULT CALLBACK WndProc(HWND hwnd,      // handle to windowUINT uMsg,      // message identifierWPARAM wParam,  // first message parameterLPARAM lParam   // second message parameter
)
{HDC hdc;PAINTSTRUCT ps;HFONT hfont;TEXTMETRIC tm;SIZE size;char str[] = "文字渐变练习";int i, nchlen;switch(uMsg){case WM_PAINT:hdc = BeginPaint(hwnd, &ps);hfont = CreateFont(20, 0, 0, 0, FW_HEAVY, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH|FF_DONTCARE, "粗体字");SelectObject(hdc, hfont);GetTextMetrics(hdc, &tm);GetTextExtentPoint32(hdc, str, strlen(str), &size);SetTextColor(hdc, RGB(0, 0, 0));GetTextMetrics(hdc, &tm);TextOut(hdc, 200, 200, str, strlen(str));MoveToEx(hdc, 200, 200, NULL);SetTextColor(hdc, RGB(0, 255, 0));SetBkColor(hdc, RGB(255, 0, 0));nchlen = size.cx / strlen(str);for(i=0; i<strlen(str); i=i+2){TextOut(hdc, 200 + nchlen * i, 200, &str[i], 2);Sleep(800);}EndPaint(hwnd, &ps);DeleteObject(hfont);break;case WM_CLOSE:DestroyWindow(hwnd);break;case WM_DESTROY:   PostQuitMessage(0);break;default:return DefWindowProc(hwnd, uMsg, wParam, lParam);}return 0;
}

windows编程之文本输出(字体渐变)相关推荐

  1. 【Windows编程】系列第三篇:文本字符输出

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇我们展示了如何使用Windows SDK创建基本控件,本篇来讨论如何输出文本字符. 在使用Win32编程时,我们常常要输 ...

  2. windows 编程随笔——输出文本WM_PAINT消息|有效矩形和无效矩形

    在说文本输出前先说明下什么是: 1,WM_PAINT消息?什么情况触发此消息? 此消息通知窗口过程必须绘制客户区. 以下四种情况windows会通知窗口过程接收一个WM_PAINT消息: 用户移动或显 ...

  3. linux下 C编程改变输出字体颜色

    linux下 C编程改变输出字体颜色 分类: Linux基础编程 Linux操作系统 2012-09-19 10:53 1409人阅读 评论(0) 收藏 举报 linux编程c 格式: echo &q ...

  4. php 输出红色字体颜色,可以对输出文本的字体大小、颜色进行随意的改变的标记是( )...

    问题:可以对输出文本的字体大小.颜色进行随意的改变的标记是( ) 更多相关问题 合力对作用面内任意一点之矩,等于该力在同一平面内各分力对同一点之矩的( )和 民国从成立开始面临的基本政治形态是(). ...

  5. MFC字体与文本输出

    字体 成员函数 1.CFont( ); 构造一个CFont对象.此对象在使用之前应该先使用CreateFont.CreateFontIndirect.CreatePointFont或CreatePoi ...

  6. windows编程之TextOut与DrawText -- 文本输出实验

    文章目录 windows编程之TextOut与DrawText -- 文本输出实验 实验名称 实验目的 实验要求 实验源码 思考题 windows编程之TextOut与DrawText – 文本输出实 ...

  7. 【C语言】控制台窗口图形界面编程(四):文本输出

    00. 目录 文章目录 00. 目录 01. FillConsoleOutputAttribute函数 02. FillConsoleOutputCharacter函数 03. WriteConsol ...

  8. linux输出渐变色字体,ps怎么换字体渐变颜色

    ps换字体渐变颜色的方法是: 1.首先打开PS进入到主界面,之后我们打开一张图片,或是新建一个画布. 2.之后点击工具栏中的"文字"工具,之后我们在上方设置好文字的字体.字号.颜色 ...

  9. Windows 编程

    Delphi 利用Object Pascal 和可视控件库(VCL)对底层的Windows API 进行了完美的封装,所以很少需要使用基础Pascal 语言来建立Windows应用程序,也无需直接调用 ...

最新文章

  1. cpp中sizeof与指针
  2. 移动硬盘不能识别,设备管理器中显示黄色感叹号
  3. 解决SecureCRT中文显示乱码
  4. java.net import_import java.net.URL;是什么类?
  5. 【VS开发】【DSP开发】WinDriver简介(或介绍)
  6. 皮一皮:看看你有没有在自杀...
  7. MySQL中用户授权/删除授权的方法
  8. [react] 请说下react组件更新的机制是什么
  9. OpenCV中图像轮廓检测
  10. 浅谈JSP自定义标签实现过程
  11. CSS魔法堂:hasLayout原来是这样!
  12. java iplimage 头文件_javaCV图像处理之Frame、Mat和IplImage三者相互转换(使用openCV进行Mat和IplImage转换)......
  13. oracle可恢复的等待,【案例】Oracle RAC恢复报错RMAN-06004 RMAN-20003解决办法笔记
  14. 我的软件开发经历和收获
  15. 达林顿管,达林顿管原理
  16. 顺序表的基本操作(详细、全面)
  17. Linux网络与数据封装
  18. 网络视频监控服务器的作用,网络视频监控服务器有哪些优势?其特点主要有哪些?...
  19. mysql免费管理工具2017_15个MySql(其他数据库)管理工具
  20. 云计算:程序员重回个人英雄时代,国内云计算平台即将搭建运行。

热门文章

  1. mysql学习笔记-使用通配符模糊查找
  2. 学霸双胞胎开源斯坦福CS 221人工智能备忘录,图文并茂看懂反射、状态、变量、逻辑...
  3. iOS15Beta2来了,修复大量Bug,新变化来了
  4. 田蕴章书法讲座《每日一题,每日一字》(6) 文字整理 -- 书法用笔
  5. 磁卡ID卡IC卡的区别
  6. LOL 9.20版本更新
  7. CppUnit Cookbook中文版
  8. 微服务网关鉴权——gateway使用、网关限流使用、用户密码加密、JWT鉴权
  9. 如何修改默认好友的打招呼内容
  10. 教您使用优动漫画漂亮玫瑰花教程