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.

//修改窗口标题  创建的消息框的所有者窗口的句柄为h
	SetWindowText(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();
	//修改窗口标题  创建的消息框的所有者窗口的句柄为h
	SetWindowText(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;
}

  • 4
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值