前言:

当我们不想要黑色的窗口,想要设计一个无按钮的字幕在电脑中央向来回滚动时,该怎么办呢?

我们可以对窗口进行设计,例子如下:

软件:vs2013

程序功能:设计一行无边框无按钮的弹幕在电脑中央开始向右来回滚动

步骤:

一:创建窗口

1.创建win32项目,windows窗口应用程序(注:不要安全开发周期),创建完之后.cpp文件里自动生成有一百多行代码,在这里进行修改。

二:

注册窗口类:(设置无边框)

调整窗口大小,设置无按钮:

全局变量:

添加文字到窗口上:(使用多字符集)

让窗口动起来:

按上述步骤修改后的代码:(本人已运行通过,如果上述步骤未明白,可以在下面代码里慢慢找修改的地方)

// 滚屏软件.cpp : 定义应用程序的入口点。
//#include "stdafx.h"
#include "滚屏软件.h"#define MAX_LOADSTRING 100// 全局变量:
HINSTANCE hInst;                                // 当前实例
TCHAR szTitle[MAX_LOADSTRING];                  // 标题栏文本
TCHAR szWindowClass[MAX_LOADSTRING];            // 主窗口类名//窗口坐标
int x = 400;
int y = 400;
//窗口大小
int width = 300;
int height = 30;// 此代码模块中包含的函数的前向声明:
ATOM                MyRegisterClass(HINSTANCE hInstance);
BOOL                InitInstance(HINSTANCE, int);
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,_In_opt_ HINSTANCE hPrevInstance,_In_ LPTSTR    lpCmdLine,_In_ int       nCmdShow)
{UNREFERENCED_PARAMETER(hPrevInstance);UNREFERENCED_PARAMETER(lpCmdLine);// TODO:  在此放置代码。MSG msg;HACCEL hAccelTable;// 初始化全局字符串LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING);MyRegisterClass(hInstance);// 执行应用程序初始化: if (!InitInstance (hInstance, nCmdShow)){return FALSE;}hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY));// 主消息循环: while (GetMessage(&msg, NULL, 0, 0)){if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)){TranslateMessage(&msg);DispatchMessage(&msg);}}return (int) msg.wParam;
}//
//  函数:  MyRegisterClass()
//
//  目的:  注册窗口类。
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{WNDCLASSEX wcex;wcex.cbSize = sizeof(WNDCLASSEX);wcex.style           = CS_HREDRAW | CS_VREDRAW;wcex.lpfnWndProc = WndProc;wcex.cbClsExtra      = 0;wcex.cbWndExtra        = 0;wcex.hInstance     = hInstance;wcex.hIcon         = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY));wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);wcex.hbrBackground   = (HBRUSH)(COLOR_WINDOW+1);wcex.lpszMenuName = NULL;    //菜单设置无边框 MAKEINTRESOURCE(IDC_MY);wcex.lpszClassName = szWindowClass;wcex.hIconSm       = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));return RegisterClassEx(&wcex);
}//
//   函数:  InitInstance(HINSTANCE, int)
//
//   目的:  保存实例句柄并创建主窗口
//
//   注释:
//
//        在此函数中,我们在全局变量中保存实例句柄并
//        创建和显示主程序窗口。
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{HWND hWnd;hInst = hInstance; // 将实例句柄存储在全局变量中hWnd = CreateWindow(               //调整窗口大小,位置szWindowClass, szTitle,WS_POPUP,   //窗口无按钮x,y, width, height, NULL, NULL, hInstance, NULL);if (!hWnd){return FALSE;}ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);return TRUE;
}//
//  函数:  WndProc(HWND, UINT, WPARAM, LPARAM)
//
//  目的:    处理主窗口的消息。
//
//  WM_COMMAND  - 处理应用程序菜单
//  WM_PAINT    - 绘制主窗口
//  WM_DESTROY  - 发送退出消息并返回
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{int wmId, wmEvent;PAINTSTRUCT ps;HDC hdc;switch (message){case WM_TIMER:x += 3;if (x > GetSystemMetrics(SM_CXFULLSCREEN))x = 0;SetWindowPos(hWnd, NULL, x, y, width, height, NULL);break;case WM_CREATE:    //窗口创建之后{//设置窗口位置为屏幕正中央int W = GetSystemMetrics(SM_CXFULLSCREEN); //获取窗口宽int h = GetSystemMetrics(SM_CYFULLSCREEN); //获取窗口高x = (W - width) / 2;y = (h - height) / 2;SetWindowPos(hWnd, NULL, x, y, width, height, NULL);SetTimer(hWnd, 1, 50, NULL);}break;case WM_COMMAND:     //键盘鼠标消息wmId    = LOWORD(wParam);wmEvent = HIWORD(wParam);// 分析菜单选择: switch (wmId){case IDM_ABOUT:DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);break;case IDM_EXIT:DestroyWindow(hWnd);break;default:return DefWindowProc(hWnd, message, wParam, lParam);}break;case WM_PAINT:   //绘图hdc = BeginPaint(hWnd, &ps);// TODO:  在此添加任意绘图代码...//使用的时候注意字符集TextOut(hdc, 30, 5, "Hello!,你好", strlen("Hello!,你好"));EndPaint(hWnd, &ps);break;case WM_DESTROY:    //销毁窗口PostQuitMessage(0);break;default:return DefWindowProc(hWnd, message, wParam, lParam);}return 0;
}// “关于”框的消息处理程序。
INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{UNREFERENCED_PARAMETER(lParam);switch (message){case WM_INITDIALOG:return (INT_PTR)TRUE;case WM_COMMAND:if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL){EndDialog(hDlg, LOWORD(wParam));return (INT_PTR)TRUE;}break;}return (INT_PTR)FALSE;
}

结果部分截图:

如果有什么问题,欢迎在下面留言!

vs2013制作滚屏软件相关推荐

  1. python制作录屏软件_【Python成长之路】用python制作一款录屏小工具(1)

    哈喽大家好,我是鹏哥. 今天我想学习记录的内容是 --如何用python实现录屏. ~~~上课铃~~~ 1 写在前面 作为一名测试,有时候经常会遇到需要录屏记录自己操作,方便后续开发同学定位.以前都是 ...

  2. android 录屏软件,如何制作教学视频?教学视频录制方法

    如何制作教学视频?教学视频录制方法 如今,很多人各种视频上传到在线视频平台(腾讯视频,优酷,土豆等),最近在视频平台上教学视频越来越多,各种方面的老师不仅在学校和学院上课,而且在网络传递知识,就是网络 ...

  3. [Ubuntu软件]好用轻巧的录屏软件——Kazam

    下载和安装 支持ubuntu商店直接下载.     sudo安装. sudo apt-get install kazam 优缺点分析 除了支持录像,还支持截图,虽然ubuntu系统自带截图工具都已经很 ...

  4. FineReport中如何实现自动滚屏效果

    对于一些特殊的模板,可能为了展示的更加丰富.全面会在一个页面放置很多图表.表格等内容.由于内容过多,超出了浏览器窗口的大小导致内容展示不全的情况.这样我们就需要用到JS滚屏效果来解决,这里主要介绍在F ...

  5. 【Tools】Bandicam录屏软件概述

    00. 目录 文章目录 00. 目录 01. Bandicam概述 02. Bandicam屏幕录制 03. Bandicam游戏录制 04. Bandicam设备录制 05. Bandicam功能汇 ...

  6. mac android 录屏软件下载,苹果录屏app下载 苹果录屏 for Android V2.1.3 安卓手机版 下载-脚本之家...

    苹果录屏是一款不错的手机录屏软件,该软件能帮助你录制流畅清晰视频,实现屏幕内容实时同步录制,录制视频流畅清晰不卡顿,需要的朋友可以下载使用. 应用介绍 苹果录屏,是一款免费屏幕录制软件,能帮助你录制流 ...

  7. 帆软报表调用python脚本_帆软报表(finereport)实现自动滚屏效果

    例如Demo:IOS平台年度数据报表. 展示内容丰富,一个页面中存在多个图表.内容,超出了浏览器窗口的大小导致内容展示不全. 为了能够预览这个报表的全部内容,可以使用JS滚屏效果来实现. 操作步骤: ...

  8. PicPick手册:绿色小巧功能多的截屏软件

    PicPick 是一款小巧而功能丰富的截屏软件,兼具白板.屏幕标尺.直角座标或极座标显示与测量.屏幕取色等功能.只要是有笔者喜欢的滚动截屏功能.转载过来和朋友们分享下. 下载地址:http://dl. ...

  9. mac os 录屏快捷键_5款好用的Mac录屏软件推荐

    在视频内容越来越丰富的今天,录屏是我们经常会用到的一个功能,不管是录制一些无法下载的视频还是录制屏幕制作自己的视频,都需要用到录屏功能,本文中我们来推荐几款好用的Mac录屏软件 Mac系统自带的录屏工 ...

  10. 电脑录屏软件帧率设置详解

    在各类静态广告图片逐渐被动态视频广告所代替的背景下,人们对于录屏需求也是越来越大.根据每个人使用习惯,选择的电脑录屏软件也是不一样的!但是,每一款电脑录屏软件都是自带帧率功能设置这一选项!那么为什么会 ...

最新文章

  1. 5G将成开启物联网时代的金钥匙
  2. Redis史上最强【集群】入门实践教程
  3. mvc mvp mvvm
  4. python 栈道实现
  5. 深度学习(二十二)Dropout浅层理解
  6. aes key长度_Go 语言 map 解析之 key 的定位核心流程
  7. vst3插件_2B Played Music发布用于劲爆舞曲风格的极端失真和剪辑插件2B Clipped XT
  8. 【springboot+easypoi】一行代码搞定excel导入导出
  9. JS之检索子字符串的search方法
  10. ASP.NET验证控件之RegularExpressionValidator
  11. caffe---测试模型分类结果并输出(python )
  12. java求两个时间相差月_java计算两个时间相差几个月
  13. iptv管理系统php制作,云水日记-双子星IPTV管理系统搭建教程
  14. 支持移动触摸的jQuery图片Lightbox插件
  15. 雷电模拟器无法桥接网络解决办法
  16. windows系统cab补丁安装方法
  17. Eighth Week(补充完整)
  18. Finite State Transducer(FST)in NLP
  19. 类名与样式是否为并列关系
  20. 高德地图——步行导航

热门文章

  1. aqua data studio 连接db2
  2. 【WIN10】清除图标缓存
  3. SVN客户端安装教程
  4. First_Day_NingShanFeng之品优购电商系统开发
  5. WiFi 抓包工具使用SOP(OmniPeek)
  6. php实现小偷程序,PHP小偷程序的设计与实现示例
  7. Java开发童年小游戏
  8. Java 递归算法之斐波那契数列第 N 项
  9. RemObjects Elements多用途软件开发
  10. rootkit 后门检查工具 rkHunter安装使用