wxBM->SetWidth(bm.bmWidth);
wxBM->SetHeight(bm.bmHeight);
wxBM->SetDepth(bm.bmPlanes);
+#if WXWIN_COMPATIBILITY_2
wxBM->SetOk(TRUE);
+#endif // WXWIN_COMPATIBILITY_2
retval = wxBM;
break;
}
IMPLEMENT_DYNAMIC_CLASS(wxClipboard, wxObject)
-wxClipboard* wxTheClipboard = (wxClipboard *)NULL;
-
wxClipboard::wxClipboard()
{
m_clearOnExit = FALSE;
bool wxClipboard::SetData( wxDataObject *data )
{
+#if !wxUSE_OLE_CLIPBOARD
(void)wxEmptyClipboard();
+#endif // wxUSE_OLE_CLIPBOARD
if ( data )
return AddData(data);
formatEtc.ptd = NULL;
formatEtc.dwAspect = DVASPECT_CONTENT;
formatEtc.lindex = -1;
- formatEtc.tymed = TYMED_HGLOBAL;
size_t nSupportedFormats = supportedFormats.GetCount();
for ( size_t n = 0; !result && (n < nSupportedFormats); n++ )
STGMEDIUM medium;
formatEtc.cfFormat = supportedFormats[n];
+ // use the appropriate tymed
+ switch ( formatEtc.cfFormat )
+ {
+ case CF_BITMAP:
+ formatEtc.tymed = TYMED_GDI;
+ break;
+
+ case CF_METAFILEPICT:
+ formatEtc.tymed = TYMED_MFPICT;
+ break;
+
+ default:
+ formatEtc.tymed = TYMED_HGLOBAL;
+ }
+
// try to get data
hr = pDataObject->GetData(&formatEtc, &medium);
if ( FAILED(hr) )