HOOPS/MFC编程指南三(HOOPS/MFC Programming Guide)

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()));


你可能感兴趣的:(HOOPS/MFC编程指南三(HOOPS/MFC Programming Guide))