Windows应用程序-文本显示
来源:互联网 发布:java 断点续传 框架 编辑:程序博客网 时间:2024/06/05 20:13
居中显示一幅春联,字体不限,黄色 RGB(255,255,0)
#include<windows.h>#include<stdlib.h>#include<string.h>long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam);BOOL InitWindowsClass(HINSTANCE hInstance);BOOL InitWindows(HINSTANCE hInstance, int nCmdShow);HWND hWndMain;//主函数int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){MSG Message;if (!InitWindowsClass(hInstance))return FALSE;if (!InitWindows(hInstance, nCmdShow))return FALSE;while (GetMessage(&Message, 0, 0, 0)) //消息循环{TranslateMessage(&Message);DispatchMessage(&Message);}return Message.wParam;}long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam){static long nYChar;int pointx, pointy; int i, j;HDC hDC; // 定义指向设备环境的句柄HFONT DuiLian_Font; // 定义字体句柄HBRUSH hBrush; // 定义只指向画刷的句柄HPEN hPen; // 定义指向画笔的句柄TEXTMETRIC tm;// 存放字体各种属性的结构体变量PAINTSTRUCT PtStr; // 指向包含绘图信息的结构体变量static char hengpi[] = { "迎春接福" };static char *duilian[2] = { { "春到百花香满地" },{ "时来万事喜临门" } };switch (iMessage) //处理消息{case WM_CREATE:// 窗口创建return 0;case WM_PAINT: // 处理重画消息hDC = BeginPaint(hWnd, &PtStr); // 开始绘图// 绘制对联背景hPen = CreatePen(PS_INSIDEFRAME, 3, RGB(255, 0, 0)); //红色实线 hBrush = CreateSolidBrush(RGB(255, 0, 0)); // 绿色水平阴影画刷SelectObject(hDC, hBrush); // 选择画刷SelectObject(hDC, hPen); // 选择画笔Rectangle(hDC, 100, 30, 300, 80); // 绘制横批背景Rectangle(hDC, 100, 100, 150, 395); // 绘制上联背景Rectangle(hDC, 250, 100, 300, 395); // 绘制下联背景// 输出对联内容DuiLian_Font = CreateFont( // 创建自定义字体40, // 字体的高度0, // 由系统根据高宽比选取字体最佳宽度值0, // 文本的倾斜度为0,表示水平0, // 字体的倾斜度为0FW_HEAVY, // 字体的粗度,FW_HEAVY为最粗0, // 非斜体字0, // 无下划线0, // 无删除线ANSI_CHARSET, // 表示所用的字符集为ANSI_CHARSETOUT_DEFAULT_PRECIS, // 输出精度为缺省精度CLIP_DEFAULT_PRECIS, // 剪裁精度为缺省精度DEFAULT_QUALITY, // 输出质量为缺省值DEFAULT_PITCH | FF_DONTCARE, // 字间距和字体系列使用缺省值"粗体字"); //字体名称SetTextColor(hDC, RGB(255, 255, 0)); // 设置字体颜色为黄色SetBkMode(hDC, TRANSPARENT); // 设置字体背景为透明SelectObject(hDC, DuiLian_Font); // 载入字体到当前设备环境GetTextMetrics(hDC, &tm); // 获取字体信息nYChar = tm.tmHeight + tm.tmExternalLeading;// 字符高度SetTextCharacterExtra(hDC, 12); // 设置字符横向间距TextOut(hDC, 110, 35, hengpi, strlen(hengpi));//用当前字体输出文本for (i = 2; i > 0; i--){for (j = 0; j < 7; j++)// 输出文本{pointx = 105 + (i - 1)*150;pointy = 105 + j*nYChar;TextOut(hDC, pointx, pointy, duilian[2 - i] + j * 2, 2);}}EndPaint(hWnd, &PtStr); return 0; // 结束绘图case WM_DESTROY: // 结束应用程序PostQuitMessage(0);return 0;default:return(DefWindowProc(hWnd, iMessage, wParam, lParam));}}BOOL InitWindows(HINSTANCE hInstance, int nCmdShow) // 初始化窗口{HWND hWnd;hWnd = CreateWindow("WinFill", "文本显示", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); // 生成窗口if (!hWnd)return FALSE;hWndMain = hWnd;ShowWindow(hWnd, nCmdShow);//显示窗口UpdateWindow(hWnd);return TRUE;}BOOL InitWindowsClass(HINSTANCE hInstance)//定义窗口类{WNDCLASS WndClass;WndClass.cbClsExtra = 0;WndClass.cbWndExtra = 0;WndClass.hbrBackground = (HBRUSH)(GetStockObject(WHITE_BRUSH));WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);WndClass.hIcon = LoadIcon(NULL, "END");WndClass.hInstance = hInstance;WndClass.lpfnWndProc = WndProc;WndClass.lpszClassName = "WinFill";WndClass.lpszMenuName = NULL;WndClass.style = CS_HREDRAW | CS_VREDRAW;return RegisterClass(&WndClass);}
阅读全文
0 0
- Windows应用程序-文本显示
- Windows消息文本显示方法
- Windows编程基础 - 文本显示
- MailBee.NET Objects显示HTML/纯文本邮件教程(三):在Web应用程序中显示
- MailBee.NET Objects显示HTML/纯文本邮件教程(二):在桌面应用程序中显示
- Linux文本在windows中显示乱码的解决方法
- 在 Windows 命令行模式下显示 Unicode 文本
- Windows 应用程序 DataGrid数据绑定显示中文列名
- Windows SDK应用程序窗口标题栏上显示自定义图标
- (JSP)在文本域中显示超链接——小应用程序部分
- CScrollView单文本应用程序
- -Windows应用程序
- Windows应用程序
- 编写一个基于对话框的应用程序可以用来打开及显示文本文件设置所显示的文本的字体颜色。
- windows笔记-Windows应用程序
- MOOC清华《VC++面向对象与可视化程序设计》第3章:Windows文本-例(1)文本显示示例程序
- MOOC清华《VC++面向对象与可视化程序设计》第3章:Windows文本-例(3)动态文本的显示
- 分页的文本显示
- 既使用maven编译,又使用lib下的Jar包
- Android7.0中文文档(API)-- AbsoluteLayout.LayoutParams
- SQL 关于错误的日期转换时间戳 , 会出现什么情况
- Deep Learning的推荐学习资源
- 百度SDK定位功能
- Windows应用程序-文本显示
- 利用css画横线或竖线
- 欢迎使用CSDN-markdown编辑器
- 网络直播电视之M3U8解析篇
- ++、--操作符使用分析
- 泛型
- idea下findbugs 安装配置
- 使用valgrind检查内存问题
- php7安装redis扩展