Code is simple. Because i must have modal dialog over another modal dialog, ImageDialog stops an in shut-down says ..
../src/common/wincmn.cpp(3346): assert "Assert failure" failed in DoNotifyWindowAboutCaptureLost(): window that captured the mouse didn't process wxEVT_MOUSE_CAPTURE_LOST
Code: Select all
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/// Class Image
///////////////////////////////////////////////////////////////////////////////
class Image : public wxDialog
{
private:
protected:
enum
{
idBtnAbout = 1000,
idBtnQuit
};
wxBitmapButton* m_bpButton1;
wxBitmapButton* m_bpButton2;
wxBitmapButton* m_bpButton3;
wxBitmapButton* m_bpButton4;
wxBitmapButton* m_bpButton5;
wxBitmapButton* m_bpButton6;
wxBitmapButton* m_bpButton9;
wxBitmapButton* m_bpButton10;
wxBitmapButton* m_bpButton11;
wxBitmapButton* m_bpButton12;
wxBitmapButton* m_bpButton13;
wxStaticBitmap* m_bitmap1;
wxStaticLine* m_staticline1;
wxButton* BtnAbout;
wxButton* BtnQuit;
// Virtual event handlers, overide them in your derived class
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
virtual void OnDoubleClick( wxMouseEvent& event ) { event.Skip(); }
virtual void OnMouseDown( wxMouseEvent& event ) { event.Skip(); }
virtual void OnMouseUp( wxMouseEvent& event ) { event.Skip(); }
virtual void OnMouseMove( wxMouseEvent& event ) { event.Skip(); }
virtual void OnAbout( wxCommandEvent& event ) { event.Skip(); }
virtual void OnQuit( wxCommandEvent& event ) { event.Skip(); }
public:
Image( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 1126,687 ), long style = wxDEFAULT_DIALOG_STYLE );
~Image();
};
class ImageDialog: public Image
{
public:
ImageDialog(wxDialog *dlg,inputfile& file);
~ImageDialog();
private:
virtual void OnClose(wxCloseEvent& event);
virtual void OnQuit(wxCommandEvent& event);
virtual void OnAbout(wxCommandEvent& event);
wxBitmap CreateColorBitmap(const wxColour& c);
virtual void OnZoomIn(wxCommandEvent& event);
virtual void OnZoomOut(wxCommandEvent& event);
virtual void OnDoubleClick( wxMouseEvent& event );
virtual void OnMouseDown( wxMouseEvent& event );
virtual void OnMouseUp( wxMouseEvent& event );
virtual void OnMouseMove( wxMouseEvent& event );
void OnSizeChanged(wxSizeEvent& event);
bool dragging;
int BmpDX,BmpDY,ScreenDX,ScreenDY;
float fa;
void SetZoom(float factor);
float GetZoom();
wxImage image;
void UpdateBitmap();
void OnKeyDown(wxKeyEvent& event);
};