我有一个myFrame类,我试图删除Rectangle对象,但我失败了。我做错了什么。 OnDoubleClick没有反应。
class shapes : public wxEvtHandler
...
class Rectangle: public Shape
....
class Circle: public Shape
...
class Line : public Shape
...
-----------------------
class myFrame
...
myViewer* view;
vector<Shape*> shapes;
myFrame::DrawRect(){
wxPaintDC dc(this);
Rectangle* r=new Rectangle();
r->setDC(&dc);
r->drawToDC();
r->Connect
(
wxEVT_LEFT_DCLICK,
wxMouseEventHandler(myFrame::OnDoubleClick),
NULL,
this
);
shapes.push_back(r);
}
答案 0 :(得分:0)
你不能使用wxPaintDC支持&#34; OnPaint&#34;事件处理程序 而不是使用wxClientDC或wxWindowDC。
并且您最好将wxFrame指针传递给矩形而不是wxDC派生类。 然后,矩形将在需要时得到正确的直流。