/*application 1*/
#include <graphics.h>//图形库
#include <iostream>
#include <String>
#include<mmsystem.h> //播放音乐头文件
#include "lesson 1.h"
#pragma comment (lib,"winmm.lib")//无需加;播放音乐需导入库文件
using namespace std;
int main()
{
// 初始化图形窗口
initgraph(600, 400 , EW_SHOWCONSOLE);
loadimage(NULL, _T("黑客下载.JPG"));
//画笔画框
setlinecolor(RGB(255,242,0));
//文字颜色、样式
settextcolor(YELLOW);
settextstyle(40, 0, _T("微软雅黑"));
for (char i = 0; i < 5; i++)
{
char X0 = 35, X1 = 85, interval=70;//间隔
rectangle(330, (35+(i*interval)), 570, (85+(i*interval)));
const wchar_t* Str = L"";//字符类型
switch (i)
{
case 0:
Str = L"播放音乐"; break;
case 1:
Str = L"暂停音乐"; break;
case 2:
Str = L"画圆"; break;
case 3:
Str = L"画线"; break;
case 4:
Str = L"退出"; break;
default:
break;
}
outtextxy(335, (40+(i*interval)), Str);//输出字符串
Sleep(1* 100);//延迟函数
}
ExMessage m;//定义1个消息变量
//文字颜色、样式
settextcolor(WHITE);
settextstyle(20, 0, _T("微软雅黑"));
while (true)
{
while (peekmessage(&m, EM_MOUSE | EM_KEY))//鼠标与按键消息触发
{
//创建宽字符型
wstring clear = _T(" ");//清理底层
wstring Str = to_wstring(m.x) + _T(",") + to_wstring(m.y);//输出物理坐标X,Y
//清理上一次输出字符
outtextxy(0, 360, clear.c_str());
outtextxy(0, 380, clear.c_str());
cout << m.x << "," << m.y << endl;//测试使用
mciSendString(_T("open 爱一点.mp3 Alias Music1"), 0, 0, 0);//打开文件并定义别名为Music1
switch (m.message)
{
case WM_MOUSEMOVE://鼠标移动消息
outtextxy(0, 360, _T("鼠标移动中"));
outtextxy(0, 380, Str.c_str());
break;//输出字符串
case WM_LBUTTONDOWN://左键按下消息
outtextxy(0, 360, _T("左键按下"));
break;//输出字符串
case WM_KEYDOWN://按键按下消息
outtextxy(0, 360, _T("按键按下"));
if (m.vkcode == VK_ESCAPE)//esc
return 0; //
else if(m.vkcode == 0x08)//Backspace
mciSendString(_T("pause Music1"), 0, 0, 0);//暂停音乐;
else if (m.vkcode == 0x0D)//Enter
mciSendString(_T("play Music1 repeat"), 0, 0, 0);//循环播放音乐
else if (m.vkcode == 0x5A)//Z
closegraph();// 关闭图形窗口
break;//输出字符串
}
}
}
}
本文介绍了一个使用C++实现的简单图形用户界面程序,该程序集成了音乐播放与暂停功能,并通过鼠标与键盘交互控制。文章展示了如何利用图形库绘制界面元素、加载图片背景、播放指定音乐以及响应用户的输入操作。
1204

被折叠的 条评论
为什么被折叠?



