学习视频【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;
}
运行结果:修改成功
MessageBox(创建的消息框的所有者窗口的句柄,"要显示的消息","对话框标题,"对话框的内容和行为");//显示模式对话框
MessageBox参数详解:MessageBox 函数 (winuser.h) - Win32 apps | Microsoft Learn
对话框的内容和行为:
#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;
}
运行结果:
注:
1.
//对话框
MessageBox(NULL, "恭喜你学习结束", "提示", MB_OKCANCEL);
当句柄为NULL时 窗口可以位于消息框之上
2.
//修改窗口标题 创建的消息框的所有者窗口的句柄为h
SetWindowText(h, "easyx学习");
若窗口句柄为创建的消息框的所有者,窗口无法位于消息框之上
3.MessageBox()函数返回值为int类型
#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;
}