easyx学习笔记(六):播放音乐,修改窗口标题,弹出对话框

2024-03-22 10:59

本文主要是介绍easyx学习笔记(六):播放音乐,修改窗口标题,弹出对话框,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学习视频【C/C++/EasyX】学编程,做游戏,小白快速入门图形编编程

目录

播放音乐

修改窗口标题,弹出对话框

播放音乐

为了实现用c语言播放音乐,需要用到windos的一个API

        1.需要包含头文件windos.h和mmsystem.h(如果已经包含graphics.h则无需包含windos.h;        mmsystem.h需要放在graphics.h的下方)

#include<graphics.h>//包含图形库头文件
#include<mmsystem.h>//包含多媒体设备接口头文件

        2.需要加载静态库winmm.lib

#pragma	comment(lib,"winmm.lib")//加载静态库

        3.最后就可以使用mciSendString函数播放音乐了

//播放音乐
void BGM()
{//打开音乐		mciSendString("open ./music.mp3", 0, 0, 0);//mci:多媒体设备接口  send:发送	string:字符串//播放音乐	repeat:重复播放mciSendString("play ./music.mp3", 0, 0, 0);}

因为每次都要把文件位置写出来比较麻烦 所以可以给文件位置取别名

//播放音乐
void BGM()
{//打开音乐	alias:取别名	mciSendString("open ./music.mp3 alias bgm", 0, 0, 0);//mci:多媒体设备接口  send:发送	string:字符串//播放音乐	mciSendString("play bgm", 0, 0, 0);
}

音乐播放完成会自动暂停,若想重复播放则

//播放音乐
void BGM()
{//打开音乐	alias:取别名	mciSendString("open ./music.mp3 alias bgm", 0, 0, 0);//mci:多媒体设备接口  send:发送	string:字符串//播放音乐	repeat:重复播放mciSendString("play bgm repeat", 0, 0, 0);}

关闭音乐

mciSendString("close bgm", 0, 0, 0);

修改窗口标题,弹出对话框

GetHWnd();获取窗口句柄,获取之后可以用来操作窗口

        HWND hWnd = GetHWnd();//HWND是一个类型,用于获取窗口句柄

SetWindowText(窗口句柄, "窗口标题");//修改窗口标题

#include<iostream>
#include<graphics.h>//包含图形库头文件
#include<easyx.h>//包含图形库头文件
#include<conio.h>//使用_getch()using namespace std;int main()
{//创建一个窗口,确定窗口大小initgraph(640, 480, EW_SHOWCONSOLE);setbkcolor(WHITE);cleardevice();setfillcolor(LIGHTBLUE);fillcircle(50,50,50);//获取窗口句柄HWND h = GetHWnd();//修改窗口标题SetWindowText(h, "easyx学习");//防止闪退getchar();//关闭窗口closegraph();return 0;
}

运行结果:修改成功

MessageBox(创建的消息框的所有者窗口的句柄,"要显示的消息","对话框标题,"对话框的内容和行为");//显示模式对话框

MessageBox参数详解:MessageBox 函数 (winuser.h) - Win32 apps | Microsoft Learn

 对话框的内容和行为:

#include<iostream>
#include<graphics.h>//包含图形库头文件
#include<easyx.h>//包含图形库头文件
#include<conio.h>//使用_getch()using namespace std;int main()
{//创建一个窗口,确定窗口大小initgraph(640, 480, EW_SHOWCONSOLE);setbkcolor(WHITE);cleardevice();setfillcolor(LIGHTBLUE);fillcircle(50,50,50);//获取窗口句柄HWND h = GetHWnd();//修改窗口标题SetWindowText(h, "easyx学习");//对话框MessageBox(NULL, "恭喜你学习结束", "提示", MB_OKCANCEL);//防止闪退getchar();//关闭窗口closegraph();return 0;
}

运行结果:

 注:

1.

//对话框MessageBox(NULL, "恭喜你学习结束", "提示", MB_OKCANCEL);

当句柄为NULL时 窗口可以位于消息框之上

2.

//修改窗口标题  创建的消息框的所有者窗口的句柄为hSetWindowText(h, "easyx学习");

若窗口句柄为创建的消息框的所有者,窗口无法位于消息框之上

3.MessageBox()函数返回值为int类型

#include<iostream>
#include<graphics.h>//包含图形库头文件
#include<easyx.h>//包含图形库头文件
#include<conio.h>//使用_getch()using namespace std;int main()
{//创建一个窗口,确定窗口大小initgraph(640, 480, EW_SHOWCONSOLE);setbkcolor(WHITE);cleardevice();setfillcolor(LIGHTBLUE);fillcircle(50,50,50);//获取窗口句柄HWND h = GetHWnd();//修改窗口标题  创建的消息框的所有者窗口的句柄为hSetWindowText(h, "easyx学习");//对话框int isok = MessageBox(h, "恭喜你学习结束", "提示", MB_OKCANCEL);//MessageBox函数返回值为int类型if (isok == IDOK)//如果点击确定输出ok{cout << "ok" << endl;}else if (isok == IDCANCEL)//如果点击取消输出cancle{cout << "cancle" << endl;}//防止闪退getchar();//关闭窗口closegraph();return 0;
}

这篇关于easyx学习笔记(六):播放音乐,修改窗口标题,弹出对话框的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/835165

相关文章

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和