windows编程之文本输出(字体渐变)
代码如下:
#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编程之文本输出(字体渐变)相关推荐
- 【Windows编程】系列第三篇:文本字符输出
2019独角兽企业重金招聘Python工程师标准>>> 上一篇我们展示了如何使用Windows SDK创建基本控件,本篇来讨论如何输出文本字符. 在使用Win32编程时,我们常常要输 ...
- windows 编程随笔——输出文本WM_PAINT消息|有效矩形和无效矩形
在说文本输出前先说明下什么是: 1,WM_PAINT消息?什么情况触发此消息? 此消息通知窗口过程必须绘制客户区. 以下四种情况windows会通知窗口过程接收一个WM_PAINT消息: 用户移动或显 ...
- linux下 C编程改变输出字体颜色
linux下 C编程改变输出字体颜色 分类: Linux基础编程 Linux操作系统 2012-09-19 10:53 1409人阅读 评论(0) 收藏 举报 linux编程c 格式: echo &q ...
- php 输出红色字体颜色,可以对输出文本的字体大小、颜色进行随意的改变的标记是( )...
问题:可以对输出文本的字体大小.颜色进行随意的改变的标记是( ) 更多相关问题 合力对作用面内任意一点之矩,等于该力在同一平面内各分力对同一点之矩的( )和 民国从成立开始面临的基本政治形态是(). ...
- MFC字体与文本输出
字体 成员函数 1.CFont( ); 构造一个CFont对象.此对象在使用之前应该先使用CreateFont.CreateFontIndirect.CreatePointFont或CreatePoi ...
- windows编程之TextOut与DrawText -- 文本输出实验
文章目录 windows编程之TextOut与DrawText -- 文本输出实验 实验名称 实验目的 实验要求 实验源码 思考题 windows编程之TextOut与DrawText – 文本输出实 ...
- 【C语言】控制台窗口图形界面编程(四):文本输出
00. 目录 文章目录 00. 目录 01. FillConsoleOutputAttribute函数 02. FillConsoleOutputCharacter函数 03. WriteConsol ...
- linux输出渐变色字体,ps怎么换字体渐变颜色
ps换字体渐变颜色的方法是: 1.首先打开PS进入到主界面,之后我们打开一张图片,或是新建一个画布. 2.之后点击工具栏中的"文字"工具,之后我们在上方设置好文字的字体.字号.颜色 ...
- Windows 编程
Delphi 利用Object Pascal 和可视控件库(VCL)对底层的Windows API 进行了完美的封装,所以很少需要使用基础Pascal 语言来建立Windows应用程序,也无需直接调用 ...
最新文章
- cpp中sizeof与指针
- 移动硬盘不能识别,设备管理器中显示黄色感叹号
- 解决SecureCRT中文显示乱码
- java.net import_import java.net.URL;是什么类?
- 【VS开发】【DSP开发】WinDriver简介(或介绍)
- 皮一皮:看看你有没有在自杀...
- MySQL中用户授权/删除授权的方法
- [react] 请说下react组件更新的机制是什么
- OpenCV中图像轮廓检测
- 浅谈JSP自定义标签实现过程
- CSS魔法堂:hasLayout原来是这样!
- java iplimage 头文件_javaCV图像处理之Frame、Mat和IplImage三者相互转换(使用openCV进行Mat和IplImage转换)......
- oracle可恢复的等待,【案例】Oracle RAC恢复报错RMAN-06004 RMAN-20003解决办法笔记
- 我的软件开发经历和收获
- 达林顿管,达林顿管原理
- 顺序表的基本操作(详细、全面)
- Linux网络与数据封装
- 网络视频监控服务器的作用,网络视频监控服务器有哪些优势?其特点主要有哪些?...
- mysql免费管理工具2017_15个MySql(其他数据库)管理工具
- 云计算:程序员重回个人英雄时代,国内云计算平台即将搭建运行。