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

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

Linux文件名修改方法大全

《Linux文件名修改方法大全》在Linux系统中,文件名修改是一个常见且重要的操作,文件名修改可以更好地管理文件和文件夹,使其更具可读性和有序性,本文将介绍三种在Linux系统下常用的文件名修改方法... 目录一、引言二、使用mv命令修改文件名三、使用rename命令修改文件名四、mv命令和rename命

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命