问static有什么作用,朗朗上口,可是用起来呢
MFC“按钮”控件实现开始显示“播放”,按一下之后就开始播放相关视频,并且按钮显示为“暂停”,再按一下,视频暂停播放。
其中用到了static关键字,static a = 0;第一次调用函数时创建一个静态变量a,其并不会随着函数调用结束被销毁。
void CMFCShowVideoDlg::OnBnClickedClosevideo()
{
static int count = 0; //用来保存按钮状态,用0、1表示
if(count % 2 == 0)
{
//设置控件名
SetDlgItemTextA(IDC_CloseVideo, "开始");
count = 1; //更新按钮状态
KillTimer(1); //移除定时器
}
else
{
SetDlgItemTextA(IDC_CloseVideo, "暂停");
count = 0; //更新按钮状态
SetTimer(1, 100, NULL); //设置定时器
}
}
//在OnTimer设置定时器执行代码 本例应将控制视频播放的代码放到这里
void CMFCShowVideoDlg::OnTimer(UINT_PTR nIDEvent)
{
if(nIDEvent == 1)
{
//定时器1要执行的代码
}
}
扯了好多, 只是为了说了“static 变量 ”的用法之一