ZBLOG

void CPimageSoundTrackItemDlg::SubmitUndo() { CPimageSoundTrackMainDlg* pMain = (CPimageSoundTrackMainDlg*)m_pMainDlg; NoteSoundTrackMemScript& memScript = pMain->GetNoteSoundTrackMemScript(m_pSoundGragh->desc); std::vector current_scrip...

这段代码看起来是使用 C++ 实现的一个音轨编辑器中的撤销和重做功能。其中 CPimageSoundTrackItemDlg 类中的三个函数分别处理提交撤销、重做以及撤销操作。

SubmitUndo() 函数中,首先获取主对话框指针,并通过该指针访问到音轨内存脚本数据。然后将当前的脚本内容保存到堆栈 script_undostack 中,并更新当前脚本为最新的内容。

NotesEditRedo() 函数中,同样获取主对话框指针,并访问到音轨内存脚本数据。如果重做堆栈 script_redostack 为空,则直接返回。否则,从重做堆栈顶部弹出一个字符数组(char*)并将其赋值给当前脚本。然后,将当前脚本保存到撤销堆栈 script_undostack 中,并根据新的脚本内容进行一些界面更新操作。

NotesEditUndo() 函数中,也是获取主对话框指针并访问到音轨内存脚本数据。如果撤销堆栈 script_undostack 为空,则直接返回。否则,从撤销堆栈顶部弹出一个字符数组(char*)并将其赋值给当前脚本。然后,将当前脚本保存到重做堆栈 script_redostack 中,并进行相应的界面更新操作。

请注意,这只是提供了部分代码片段,整个音轨编辑器功能可能还涉及其他组件和逻辑。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=13444

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?