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

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

目录

播放音乐

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

播放音乐

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

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

#include//包含图形库头文件
#include//包含多媒体设备接口头文件

        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
#include//包含图形库头文件
#include//包含图形库头文件
#include//使用_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;
}

运行结果:修改成功

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

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

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

 对话框的内容和行为:

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

#include
#include//包含图形库头文件
#include//包含图形库头文件
#include//使用_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;
}

运行结果:

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

 注:

1.

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

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

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

2.

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

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

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

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

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

#include
#include//包含图形库头文件
#include//包含图形库头文件
#include//使用_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;
}

你可能感兴趣的:(学习,笔记)