1.1.1.1 复制到剪贴板(Copy to Clipboard)
ChoopsView对象支持Windows剪切板,通过HOOPS/MFC特定的Cview::OnEditCopy消息映射函数来实现。如CHoopsView::OnPrint一样,CHoopeView::OnEditCopy函数将复制HbaseView场景到剪贴板。
以下的CHoopsView类成员提供底层剪贴板逻辑控制:
m_bClipboardTreucolor: //flag enabling clipboard truecolor support m_MetafileType: // selects metafile type; can be WMF or EMF
如果要在CHoopsView::OnEditCopy消息中执行其他应用逻辑,你需要在CHoopsView类中添加该消息映射函数,并且调用基类函数(CHoopsView::OnEditCopy)来完成HOOPS特定的剪贴板拷贝功能。
1.1.1.2 共享调色板(Sharing Palettes)
当在8-位系统上使用HOOPS MSW驱动作为显示输出的时候,Windows调色板将会成为一个问题,不过这在Windows98和WinNT系统上使用OpenGL和主要支持24-位颜色的图像来说,这个问题是相当罕见的。
无论如何,HOOPS/MFC类提供了创建Windows调色板并与CHoopsView对象共享的支持,使MSW 驱动能支持8-位颜色模式。默认状态下会创建共享的调色板,但是需要在创建的时候访问和传递到每一个HOOPS/MVO View 对象中。
通过CHoopsView::GetPalette函数来访问共享调色板,并通过HBaseView对象的构造来传递到HOOPS中。如下所示代码使用了CmyHoopsView构造将共享调色板传递到HOOPS中:
m_pHView = new HmyBaseView(hmodel,NULL, NULL, NULL, (long)m_hWnd, (long)(HPALETTE)*(GetPalette()));