2014-06-30 3 views
0

Я хотел бы нарисовать объект (например, Circle/Rectangle) на wxFrame и связать обработчик событий с каждым объектом таким образом, что onMouseDown объект можно переместить в другую позицию.Подвижный объект в wxFrame

В настоящее время я не могу найти какие-либо образцы или решения для этого. Я ценю любую помощь, связанную с этой проблемой.

+0

Возможно, это связано с тем, что вы не должны рисовать непосредственно на объект wxFrame. вы должны нарисовать на wxPanel –

ответ

0

Как я уже говорил, вы не должны опираться на wxFrame. Вместо этого вы можете использовать wxPanel для рисования ваших вещей. Вот ссылка на drawing example

+0

Спасибо за исправление меня. Я могу нарисовать несколько объектов круга на панели, но как я могу получить доступ к этим объектам, нарисованным на панели, чтобы я мог пометить обработчик события, чтобы переместить его позицию при выборе. – CDX

+0

вы прикрепляете обработчик событий к панели и вместе с некоторой бухгалтерией (какой-то контейнер по вашему выбору, содержащий текущий размер и положение вашего прямоугольника), вы знаете, какой объект выбран и переместите его в соответствии с новой позицией мыши. –

+0

. Я приложил сюда , обработчик события на панели с использованием этого набора кодов: Panel1-> Connect (wxID_ANY, wxEVT_LEFT_DOWN, wxMouseEventHandler (TestFrame :: OnLeftDClick), NULL, this); Я в правильном направлении? – CDX

Смежные вопросы