这是一个音频处理软件的代码中,定义Menu中copy的函数
void AudacityProject::OnCopy()
{
ClearClipboard();
TrackListIterator iter(mTracks);
Track *n = iter.First();
Track *dest;
while (n) {
if (n-> GetSelected()) {
dest = NULL;
n-> Copy(mViewInfo.sel0, mViewInfo.sel1, &dest);
if (dest) {
dest-> SetChannel(n-> GetChannel());
dest-> SetLinked(n-> GetLinked());
dest-> SetName(n-> GetName());
if (n-> GetKind() == Track::Wave) {
((WaveTrack *)dest)-> SetRate(((WaveTrack *)n)-> GetRate());
}
msClipboard-> Add(dest);
}
}
n = iter.Next();
}
msClipLen = (mViewInfo.sel1 - mViewInfo.sel0);
msClipProject = this;
因为我不太懂C++语言,所以看不太懂```麻烦高手们解释下,万分感谢了!
------解决方案--------------------------------------------------------
复制过程没写在这里
msClipboard-> Add(dest);
这里是把数据加到msClipboard中,但这个msClipboard怎么封装的不大清楚。
Clipboard操作也很简单,几个函数就行, MFC2 那本书写的很细