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

相关文章

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和并发控制:② 垃圾回收:③ 栈和

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Python对PDF书签进行添加,修改提取和删除操作

《Python对PDF书签进行添加,修改提取和删除操作》PDF书签是PDF文件中的导航工具,通常包含一个标题和一个跳转位置,本教程将详细介绍如何使用Python对PDF文件中的书签进行操作... 目录简介使用工具python 向 PDF 添加书签添加书签添加嵌套书签Python 修改 PDF 书签Pytho

使用WPF实现窗口抖动动画效果

《使用WPF实现窗口抖动动画效果》在用户界面设计中,适当的动画反馈可以提升用户体验,尤其是在错误提示、操作失败等场景下,窗口抖动作为一种常见且直观的视觉反馈方式,常用于提醒用户注意当前状态,本文将详细... 目录前言实现思路概述核心代码实现1、 获取目标窗口2、初始化基础位置值3、创建抖动动画4、动画完成后