1. cursor fixes: frame does have hand cursor in the controls sample now,

modal dialogs don't have busy cursor even if wxIsBusy()
2. wxTextCtrl sets client data field in the generated events
3. added wxEnhMetaFile::SetClipboard()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2000-02-25 23:49:41 +00:00
parent 171774fcf3
commit bfbd6dc192
12 changed files with 159 additions and 82 deletions

View File

@@ -49,7 +49,40 @@
// wxWin macros
// ----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxCursor, wxCursorBase)
IMPLEMENT_DYNAMIC_CLASS(wxCursor, wxCursorBase)
// ----------------------------------------------------------------------------
// globals
// ----------------------------------------------------------------------------
// Current cursor, in order to hang on to cursor handle when setting the cursor
// globally
static wxCursor *gs_globalCursor = NULL;
// ----------------------------------------------------------------------------
// private classes
// ----------------------------------------------------------------------------
class wxCursorModule : public wxModule
{
public:
virtual bool OnInit()
{
gs_globalCursor = new wxCursor;
return TRUE;
}
virtual void OnExit()
{
delete gs_globalCursor;
gs_globalCursor = (wxCursor *)NULL;
}
};
// ============================================================================
// implementation
// ============================================================================
// ----------------------------------------------------------------------------
// wxCursorRefData
@@ -278,16 +311,19 @@ wxCursor::~wxCursor()
// Global cursor setting
// ----------------------------------------------------------------------------
const wxCursor *wxGetGlobalCursor()
{
return gs_globalCursor;
}
void wxSetCursor(const wxCursor& cursor)
{
extern wxCursor *g_globalCursor;
if ( cursor.Ok() && cursor.GetHCURSOR() )
if ( cursor.Ok() )
{
::SetCursor((HCURSOR) cursor.GetHCURSOR());
::SetCursor(GetHcursorOf(cursor));
if ( g_globalCursor )
(*g_globalCursor) = cursor;
if ( gs_globalCursor )
*gs_globalCursor = cursor;
}
}