More WinCE mods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -762,18 +762,27 @@ const wxChar *wxDataObject::GetFormatName(wxDataFormat format)
|
|||||||
|
|
||||||
size_t wxBitmapDataObject::GetDataSize() const
|
size_t wxBitmapDataObject::GetDataSize() const
|
||||||
{
|
{
|
||||||
|
#if wxUSE_WXDIB
|
||||||
return wxDIB::ConvertFromBitmap(NULL, GetHbitmapOf(GetBitmap()));
|
return wxDIB::ConvertFromBitmap(NULL, GetHbitmapOf(GetBitmap()));
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxBitmapDataObject::GetDataHere(void *buf) const
|
bool wxBitmapDataObject::GetDataHere(void *buf) const
|
||||||
{
|
{
|
||||||
|
#if wxUSE_WXDIB
|
||||||
BITMAPINFO * const pbi = (BITMAPINFO *)buf;
|
BITMAPINFO * const pbi = (BITMAPINFO *)buf;
|
||||||
|
|
||||||
return wxDIB::ConvertFromBitmap(pbi, GetHbitmapOf(GetBitmap())) != 0;
|
return wxDIB::ConvertFromBitmap(pbi, GetHbitmapOf(GetBitmap())) != 0;
|
||||||
|
#else
|
||||||
|
return FALSE;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxBitmapDataObject::SetData(size_t WXUNUSED(len), const void *buf)
|
bool wxBitmapDataObject::SetData(size_t WXUNUSED(len), const void *buf)
|
||||||
{
|
{
|
||||||
|
#if wxUSE_WXDIB
|
||||||
const BITMAPINFO * const pbmi = (const BITMAPINFO *)buf;
|
const BITMAPINFO * const pbmi = (const BITMAPINFO *)buf;
|
||||||
|
|
||||||
HBITMAP hbmp = wxDIB::ConvertToBitmap(pbmi);
|
HBITMAP hbmp = wxDIB::ConvertToBitmap(pbmi);
|
||||||
@@ -789,6 +798,9 @@ bool wxBitmapDataObject::SetData(size_t WXUNUSED(len), const void *buf)
|
|||||||
SetBitmap(bitmap);
|
SetBitmap(bitmap);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
#else
|
||||||
|
return FALSE;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -330,16 +330,23 @@ wxDropTarget::~wxDropTarget()
|
|||||||
|
|
||||||
bool wxDropTarget::Register(WXHWND hwnd)
|
bool wxDropTarget::Register(WXHWND hwnd)
|
||||||
{
|
{
|
||||||
HRESULT hr = ::CoLockObjectExternal(m_pIDropTarget, TRUE, FALSE);
|
HRESULT hr;
|
||||||
|
|
||||||
|
// May exist in later WinCE versions
|
||||||
|
#ifndef __WXWINCE__
|
||||||
|
hr = ::CoLockObjectExternal(m_pIDropTarget, TRUE, FALSE);
|
||||||
if ( FAILED(hr) ) {
|
if ( FAILED(hr) ) {
|
||||||
wxLogApiError(wxT("CoLockObjectExternal"), hr);
|
wxLogApiError(wxT("CoLockObjectExternal"), hr);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
hr = ::RegisterDragDrop((HWND) hwnd, m_pIDropTarget);
|
hr = ::RegisterDragDrop((HWND) hwnd, m_pIDropTarget);
|
||||||
if ( FAILED(hr) ) {
|
if ( FAILED(hr) ) {
|
||||||
|
// May exist in later WinCE versions
|
||||||
|
#ifndef __WXWINCE__
|
||||||
::CoLockObjectExternal(m_pIDropTarget, FALSE, FALSE);
|
::CoLockObjectExternal(m_pIDropTarget, FALSE, FALSE);
|
||||||
|
#endif
|
||||||
wxLogApiError(wxT("RegisterDragDrop"), hr);
|
wxLogApiError(wxT("RegisterDragDrop"), hr);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -358,7 +365,10 @@ void wxDropTarget::Revoke(WXHWND hwnd)
|
|||||||
wxLogApiError(wxT("RevokeDragDrop"), hr);
|
wxLogApiError(wxT("RevokeDragDrop"), hr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// May exist in later WinCE versions
|
||||||
|
#ifndef __WXWINCE__
|
||||||
::CoLockObjectExternal(m_pIDropTarget, FALSE, TRUE);
|
::CoLockObjectExternal(m_pIDropTarget, FALSE, TRUE);
|
||||||
|
#endif
|
||||||
|
|
||||||
m_pIDropTarget->SetHwnd(0);
|
m_pIDropTarget->SetHwnd(0);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user